System.IO.Path為路徑的操作封裝了很多很有的東西,利用該類提供的方法能夠快速處理路徑操作的問題。下面詳細了解一下。
1、屬性
屬性太復雜了,反映什么系統平台的信息,看不懂,等以后看得懂了再補充。
2、方法
ChangeExtension 更改路徑字符串的擴展名。
Combine 合並兩個路徑字符串。
GetDirectoryName 返回指定路徑字符串的目錄信息。
GetExtension 返回指定的路徑字符串的擴展名。
GetFileName 返回指定路徑字符串的文件名和擴展名。
GetFileNameWithoutExtension 返回不具有擴展名的指定路徑字符串的文件名。
GetFullPath 返回指定路徑字符串的絕對路徑。
GetInvalidFileNameChars 獲取包含不允許在文件名中使用的字符的數組。
GetInvalidPathChars 獲取包含不允許在路徑名中使用的字符的數組。
GetPathRoot 獲取指定路徑的根目錄信息。
GetRandomFileName 返回隨機文件夾名或文件名。
GetTempFileName 創建磁盤上唯一命名的零字節的臨時文件並返回該文件的完整路徑。
GetTempPath 返回當前系統的臨時文件夾的路徑。
HasExtension 確定路徑是否包括文件擴展名。
IsPathRooted 獲取一個值,該值指示指定的路徑字符串是否包含根。
string str = "images/girl.jpg"; string extend = Path.GetExtension(str); Console.WriteLine(extend); //輸出 .jpg string str1 = @"C:\App_Data"; string str2 = @"images\girl.jpg"; string newPath = Path.Combine(str1, str2); Console.WriteLine(newPath); //輸出C:\App_Data\images\girl.jpg //會自動補充反斜杠\ string str = @"C:\girl.jpg"; string newPath = Path.ChangeExtension(str, "gif"); //更改擴展名,但不改變原值 Console.WriteLine(str + " 更改擴展名之后: " + newPath); //newPath為:C:\girl.gif string str = @"C:\App_data\upload\girl.jpg"; string dictory = Path.GetDirectoryName(str); Console.WriteLine(dictory); //輸出 C:\App_data\upload string str = @"C:\App_data\upload\girl.jpg"; string fileName = Path.GetFileName(str); Console.WriteLine(fileName); //輸出 girl.jpg string str = @"C:\App_data\upload\girl.jpg"; string fileNameWithOutEntension = Path.GetFileNameWithoutExtension(str); Console.WriteLine(fileNameWithOutEntension); //輸出 girl string str = @"/upload/girl.jpg"; string fullPath = Path.GetFullPath(str); Console.WriteLine(fullPath); //輸出 C:\upload\girl.jpg 這個東西也可以轉換成絕對物理路徑 char[] chArr = Path.GetInvalidFileNameChars(); foreach (char c in chArr) { Console.Write(c + " "); //輸出很多不允許在文件名使用的字符 } char[] chArr = Path.GetInvalidPathChars(); foreach (char c in chArr) { Console.Write(c + " "); //輸出很多不允許在路徑中使用的字符 } string str = @"C:\App_data\upload\girl.jpg"; string rootInfo = Path.GetPathRoot(str); Console.Write(rootInfo); //輸出 C:\ string str = Path.GetRandomFileName(); Console.Write(str); //返回隨機文件夾名或文件名 string str = Path.GetTempFileName(); //創建磁盤上唯一命名的零字節的臨時文件並返回該文件的完整路徑 Console.Write(str); //輸出 C:\Users\Administrator\AppData\Local\Temp\temdw85.tmp string str = Path.GetTempPath(); Console.Write(str); //輸出 C:\Users\Administrator\AppData\Local\Temp\ string str = @"C:\App_data\upload\girl.jpg"; bool hasExtension = Path.HasExtension(str); //確定路徑是否含有擴展名,此處有.jpg返回true Console.Write(hasExtension);
string fileName = @"C:\mydir\123.ext";
Path.IsPathRooted(fileName); //true string UncPath = @"\\myPc\mydir\myfile";
Path.IsPathRooted(UncPath); //true
string relativePath = @"mydir\sudir\";
Path.IsPathRooted(relativePath); //false
Console.ReadKey();