下表描述了FileInfo類的一些經常使用屬性:html
屬性數組 |
描述dom |
Attributeside |
得到或設置當前文件相關的屬性。這個屬性繼承自FileSystemInfo。spa |
CreationTimecode |
獲取或設置當前文件的建立時間。這個屬性繼承自FileSystemInfo。htm |
Directoryblog |
獲取文件屬於的目錄的實例。繼承 |
Existsci |
得到表示文件存在否的布爾值。 |
Extension |
獲取包含文件擴展的字符串。這個屬性繼承自FileSystemInfo。 |
FullName |
獲取包含文件所有路徑的字符串。這個屬性繼承自FileSystemInfo。 |
LastAccessTime |
獲取文件的最後訪問時間。這個屬性繼承自FileSystemInfo。 |
LastWriteTime |
得到文件最後寫入的時間。這個屬性繼承自FileSystemInfo。 |
Length |
得到文件的大小。 |
Name |
獲取包含給定文件名的字符串。 |
string path=@"e:\a.txt";
FileInfo file=new FileInfo(path);//path表示文件地址;
文件的屬性:
1 file.FullName;//獲取文件全地址 2 file.Length.ToString() + "btyes";//獲取文件大小 3 4 file.CreationTime.ToLongTimeString();//獲取文件的建立時間 5 6 file.LastAccessTime.ToLongTimeString();//獲取文件最後訪問時間 7 8 file.LastWriteTime.ToLongTimeString();//獲取文件最後的修改時間
能夠讀取和保存路徑:
1 file.WriteAllText(路徑,內容);//把文件複製到路徑指向的文件(若是沒有改文件則自動建立,有則覆蓋) 2 3 file.ReadAllText(路徑);//讀取路徑所指向文件的內容
獲取目錄的完整路徑:
1 string dirname= file.DirectoryName;
下表描述了DirectoryInfo類的一些公用屬性:
屬性 |
描述 |
Attributes |
得到或設置當前文件的相關屬性。這個屬性繼承自FileSystemInfo。 |
CreationTime |
得到或設置當前文件的建立時間。這個屬性繼承自FileSystemInfo。 |
Exists |
得到表示目錄是否存在或不存在的布爾值。 |
Extension |
得到包含文件擴展名的字符串。這個屬性繼承自FileSystemInfo。 |
FullName |
獲取包含目錄所有目錄的字符串。這個屬性繼承自FileSystemInfo。 |
LastAccessTime |
得到最後訪問目錄的時間。這個屬性派生自FileSystemInfo。 |
Name |
獲得給定文件的包含名稱的字符串。 |
下表描述了DirectoryInfo類的一些經常使用的方法:
方法 |
描述 |
Create |
建立一個目錄。 |
CreateSubdirectory |
建立一個子目錄。 |
Delete |
刪除一個目錄。 |
GetDirectories |
在當前目錄中匹配規則以後,返回目錄。它也容許你在目錄中搜索子目錄。 |
GetFiles |
在當前目錄中返回文件。 |
string paths=@"e:\1";
DirectoryInfo dir=new DirectoryInfo(paths);
獲取目錄下的文件及文件夾的方法:
1 dir.GetFiles();//獲得「1」文件夾下的全部文件,返回存有全部文件的FileInfo數組 2 3 dir.GetDirectories();//的到「1」文件夾下的全部文件夾
判斷目錄是否存在:
1 if (!dir.Exists)//也能夠Directory.Exists(paths)來實現 2 { 3 throw new FileNotFoundException(path + "目錄沒有找到"); 4 }
獲取上一級目錄的目錄名:
string parentpath= dir.Parent.FullName; //或 string parentpath=Directory.GetParent(paths).ToString();
刪除選擇的文件夾:
dir.Delete(true);//等價於Directory.Delete(dir.FullName,true);
建立文件夾:
dir.Create();
下表描述了Path類的靜態方法:
ChangeExtension | 更改路徑字符串的擴展名 |
Combine(String, String) | 將兩個字符串組合成一個路徑 |
GetDirectoryName | 返回指定路徑字符串的目錄信息 |
GetExtension | 返回指定的路徑字符串的擴展名 |
GetFileName | 返回指定路徑字符串的文件名和擴展名 |
GetFileNameWithoutExtension | 返回不具備擴展名的指定路徑字符串的文件名 |
GetFullPath | 返回指定路徑字符串的絕對路徑 |
GetInvalidFileNameChars | 獲取包含不容許在文件名中使用的字符的數組 |
GetInvalidPathChars | 獲取包含不容許在路徑名中使用的字符的數組 |
GetPathRoot | 獲取指定路徑的根目錄信息 |
GetRandomFileName | 返回隨機文件夾名或文件名 |
GetTempFileName | 建立磁盤上惟一命名的零字節的臨時文件並返回該文件的完整路徑 |
GetTempPath | 返回當前用戶的臨時文件夾的路徑 |
HasExtension | 肯定路徑是否包括文件擴展名 |
IsPathRooted | 獲取指示指定的路徑字符串是否包含根的值 |
獲取指定路徑的文件名:
1 string a = Path.GetFileName(writepath);//返回指定路徑字符串的文件名和擴展名 2 string a = Path.GetFileName(writepath);//返回指定路徑字符串的目錄信息
合併路徑:
1 /* 2 2. 合併兩個字符路徑字符串 3 public static string Combine(string path1,string path2) 4 參數: 5 path1(String) ,第一個路徑 6 path2(String), 第二個路徑 7 返回值: 8 String ,合併後的路徑字符串。 9 常見的合併操做爲: 10 */ 11 string path3 = @"e:\test"; 12 string path4 = @"1.txt"; 13 string s5 = Path.Combine(path3, path4); 14 Console.WriteLine(s5); //返回:"c:\test\1.txt"
更改路徑字符串的擴展名:
1 /* 2 更改路徑字符串的擴展名 3 public static string ChangeExtension(string path,string extension) 4 參數: 5 path(String):要修改的路徑信息. 6 extension(String):新的擴展名。 7 返回值: 8 String,修改後的路徑字符串。 9 */ 10 //若是 extension 是 null,則返回的字符串包含指定的路徑,其擴展名已移除(點還在)。 11 string str1 = Path.ChangeExtension(@"e:\test\1.txt", "");//返回e:\test\1. 12 Console.WriteLine(str1); 13 //若是 path 不具備擴展名,而且 extension 不是 null,則返回的路徑字符串包含 extension,它追加到 path 的結尾。 14 string str2 = Path.ChangeExtension(@"e:\test\2", ".txt");//返回D:\test\2.txt 15 Console.WriteLine(str2); 16 //僅更改路徑字符串中的擴展名,並不會改變實際文件的擴展名或者目錄。
獲取指定路徑字符串的目錄信息:
Console.WriteLine(Path.GetDirectoryName(@"e:\test\test1\1.txt"));//返回文件的目錄名
實例:
1 static void Main(string[] args) 2 { 3 if (args == null || args.Length < 1) 4 return; 5 string myPath = args[0]; 6 Console.WriteLine("目錄名稱:{0}", Path.GetDirectoryName(myPath)); 7 Console.WriteLine("路徑擴展名:{0}", Path.GetExtension(myPath)); 8 Console.WriteLine("文件名:{0}", Path.GetFileName(myPath)); 9 Console.WriteLine("不帶擴展名的名稱:{0}", Path.GetFileNameWithoutExtension(myPath)); 10 Console.WriteLine("絕對全路徑:{0}", Path.GetFullPath(myPath)); 11 Console.WriteLine("根目錄:{0}", Path.GetPathRoot(myPath)); 12 Console.WriteLine("不帶根目錄的路徑:{0}", Path.GetFullPath(myPath).Remove(0, 3)); 13 Console.ReadKey(); 14 }