文件及IO操做(二)

FileInfo操做

下表描述了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();//獲取文件最後的修改時間
View Code

能夠讀取和保存路徑:

1 file.WriteAllText(路徑,內容);//把文件複製到路徑指向的文件(若是沒有改文件則自動建立,有則覆蓋)
2 
3 file.ReadAllText(路徑);//讀取路徑所指向文件的內容
View Code

獲取目錄的完整路徑:

1 string dirname= file.DirectoryName;
View Code

DirectoryInfo操做

下表描述了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」文件夾下的全部文件夾
View Code

判斷目錄是否存在:

1 if (!dir.Exists)//也能夠Directory.Exists(paths)來實現
2   {
3       throw new FileNotFoundException(path + "目錄沒有找到");
4   }
View Code

獲取上一級目錄的目錄名:

string parentpath= dir.Parent.FullName;
//
string parentpath=Directory.GetParent(paths).ToString();
View Code

刪除選擇的文件夾:

dir.Delete(true);//等價於Directory.Delete(dir.FullName,true);
View Code

建立文件夾:

dir.Create();
View Code

Path操做

下表描述了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);//返回指定路徑字符串的目錄信息
View Code

合併路徑:

 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"
View Code

更改路徑字符串的擴展名:

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               //僅更改路徑字符串中的擴展名,並不會改變實際文件的擴展名或者目錄。
View Code

獲取指定路徑字符串的目錄信息:

 Console.WriteLine(Path.GetDirectoryName(@"e:\test\test1\1.txt"));//返回文件的目錄名
View Code

實例:

 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         }
View Code
相關文章
相關標籤/搜索