The Path class contains methods that can be used to parse a given path. Using these classes is much easier and less error-prone than writing path- and filename-parsing code. There are five main methods used to parse a path: GetPathRoot, GetDirectoryName, GetFileName, GetExtension, and GetFileNameWithoutExtension. Each has a single parameter, path, which represents the path to be parsed:
Use the static methods of the Path class in the snippet code below:
public static void ParsePath(string path) { string root = Path.GetPathRoot(path); string dirName = Path.GetDirectoryName(path); string fullFileName = Path.GetFileName(path); string fileExt = Path.GetExtension(path); string fileNameWithoutExt = Path.GetFileNameWithoutExtension(path); StringBuilder format = new StringBuilder(); format.Append("ParsePath of {0} breaks up into the following" + "pieces:\r\n\tRoot: {1}\r\n\t"); format.Append("Directory Name: {2}\r\n\tFull File Name: {3}\r\n\t"); format.Append("File Extension: {4}\r\n\tFile Name Without Extension: {5}\r\n"); Console.WriteLine(format.ToString( ),path,root,dirName, fullFileName,fileExt,fileNameWithoutExt); }
If the string @”c:\test\tempfile.txt” is passed to this method, the output would look like this:
ParsePath of C:\test\tempfile.txt breaks up into the following pieces:
Root: C:\
Directory Name: C:\test
Full File Name: tempfile.txt
File Extension: .txt
File Name Without Extension: tempfile
Be aware that these methods do not actually determine whether the drives, directories, or even files exist on the system that runs these methods. These methods are string parsers and if you pass one of them a string in some strange format (such as “\\ZY:\foo”), it will try to do what it can with it anyway:
ParsePath of \\ZY:\foo breaks up into the following pieces:
Root: \\ZY:\foo
Directory Name:
Full File Name: foo
File Extension:
File Name Without Extension: foo
These methods will, however, throw an exception if illegal characters are found in the path. To determine whether files or directories exist, use the static Directory.Exists or File.Exists methods.
Popularity: 3% [?]
RSS feed for comments on this post · TrackBack URI
Leave a reply