milosev.com
  • Home
    • List all categories
    • Sitemap
  • Downloads
    • WebSphere
    • Hitachi902
    • Hospital
    • Kryptonite
    • OCR
    • APK
  • About me
    • Gallery
    • Curriculum vitae
      • Resume
      • Lebenslauf
    • Social networks
      • Facebook
      • Twitter
      • LinkedIn
      • Xing
      • GitHub
      • Google Maps
      • Sports tracker
    • Adventures planning
  1. You are here:  
  2. Home

Difference between Path.Join and Path.Combine

Details
Written by: Stanko Milosev
Category: C#
Published: 07 May 2022
Last Updated: 07 May 2022
Hits: 29
Example Path.Combine:
Debug.WriteLine(Path.Combine("test1", @"\test2"));
Will give the result:

\test2

Debug.WriteLine(Path.Join("test1", @"\test2"));
Gives the result:

test1\test2

GetCurrentDirectory

Details
Written by: Stanko Milosev
Category: C#
Published: 30 April 2022
Last Updated: 30 April 2022
Hits: 53
Here and here I gave examples on how to get the exe path, but sometimes that is not enough, sometimes I need to find path of our class library, for example, that is why sometimes I need Directory.GetCurrentDirectory()

Copy files but keep path structure

Details
Written by: Stanko Milosev
Category: C#
Published: 09 April 2022
Last Updated: 09 April 2022
Hits: 81
Here is one my tool to copy files which are listed in a file, and copy them to a location but keep original path tree. Usefull for TortoiseSVN usually I do it when I need to create the patch but I also want to be sure that if patch doesn't work that I have at least some kind of backup.

For example, you want to save files from c:\folder\subfolderOne\file1.txt and c:\folder\subfolderTwo\file1.txt to c:\copyFolder and to keep structure like c:\copyFolder\subfolderOne\file1.txt and c:\copyFolder\subfolderTwo\file1.txt

Here is the code:

using System;
using System.IO;

namespace CopyFilesKeepPathStructure
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Root source path");
            string rootSourcePath = Console.ReadLine();
            //string rootSourcePath = @" c:\folder";

            Console.WriteLine("Root destination path");
            string rootDestinationPath = Console.ReadLine();
            //string rootDestinationPath = @"c:\copyFolder";

            Console.WriteLine($"File with list of files to be copied:");
            string fileWithListOfFilesToBeCopied = Console.ReadLine();
            if (!(fileWithListOfFilesToBeCopied is null) && !(rootSourcePath is null))
            {
                string[] listOfSourceFiles = File.ReadAllLines(fileWithListOfFilesToBeCopied);
                //string[] listOfSourceFiles = File.ReadAllLines(@"C:\files.txt");

                foreach (string sourceFile in listOfSourceFiles)
                {
                    string folderStructure = sourceFile.Substring(rootSourcePath.Length,
                        sourceFile.Length - rootSourcePath.Length);
                    string destinationFile = rootDestinationPath + folderStructure;
                    Directory.CreateDirectory(Path.GetDirectoryName(destinationFile) ?? string.Empty);
                    File.Copy(sourceFile, destinationFile, true);
                    Console.WriteLine($"Source: {sourceFile}, destination: {destinationFile}");
                }
            }

            Console.WriteLine($"Press any key...");
            Console.ReadKey();
        }
    }
}
Download from here.

Creating valid HTTP URI

Details
Written by: Stanko Milosev
Category: C#
Published: 20 February 2022
Last Updated: 20 February 2022
Hits: 187
One example how to create URI with HTTP protocol. If we have like "www.milosev.com" and link is "2015-01-23-20-08-55/gallery", then safest way is to do it like:
Uri domain = new UriBuilder("milosev.com").Uri;

if (Uri.TryCreate(domain, "2015-01-23-20-08-55/gallery", out Uri myUri))
{
	Console.WriteLine(myUri.AbsoluteUri);
}
  1. Sitemap example
  2. Await and async
  3. Master - Detail example
  4. Invoke private method with reflection

Subcategories

C#

Azure

ASP.NET

JavaScript

Software Development Philosophy

MS SQL

IBM WebSphere MQ

MySQL

Joomla

Delphi

PHP

Windows

Life

Lazarus

Downloads

Android

CSS

Chrome

HTML

Linux

Eclipse

Page 1 of 135

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10