11.15. Parsing a Path
Problem
You need to separate the constituent parts of a path and place them into separate variables.
Solution
Use the
static methods of the Path
class:
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
Discussion
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 ...
Get C# Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.