程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#文件和目錄

C#文件和目錄

編輯:關於C#

一. C#提供的文件操作

File類和FileInfo類的區別和使用方法.,兩者的主要區別是File不能實例化,只提供靜態方法,而後者可以實例化,,提供的方法和File類相似.先看下利用FileInfo構造的一個實例: FileInfo myfile = new FileInfo("c:\\abc.txt");

創建 一個文件實例對象,現在我們可以看下它的屬性:

FileInfo myfile = new FileInfo("c:\\abc.txt");

Console.WriteLine(myfile.Attributes);//屬性

Console.WriteLine(myfile.CreationTime);//創建時間

Console.WriteLine(myfile.CreationTimeUtc);//Utc時間

Console.WriteLine(myfile.Directory);//目錄

Console.WriteLine(myfile.DirectoryName);//目錄名字

Console.WriteLine(myfile.Exists);//是否存在

Console.WriteLine(myfile.Extension);文件擴展名

Console.WriteLine(myfile.FullName);//全名

Console.WriteLine(myfile.IsReadOnly);是否只讀

Console.WriteLine(myfile.LastAccessTime);上次訪問

Console.WriteLine(myfile.LastAccessTimeUtc);時間

Console.WriteLine(myfile.LastWriteTime);上次讀入

Console.WriteLine(myfile.LastWriteTimeUtc);時間

Console.WriteLine(myfile.Length);文件長度

Console.WriteLine(myfile.Name);文件名字

Console.WriteLine("以上是實例文件的屬性");

 

至於File和FileInfo提供的方法,我在這裡不全部介紹,大家可以去msdn.查看.下面舉例說明下與文件有關的操作.:讀取文件的內容,中間有些知識沒有介紹,大家自己可以先去思考或者搜索相關內容,.

FileInfo myfile = new FileInfo("c:\\abc.txt");

if (!myfile.Exists)//判斷文件是否存在,

myfile.Create();不在就創建文件

FileStream fs = new FileStream

("c:\\abc.txt", FileMode.Open)//打開文件

StreamReader sr = new StreamReader(fs);輸入流

string strLine = "";

try

{

strLine = sr.ReadLine();//讀取文件裡的一行

while (strLine != null)//非空

{

strLine = sr.ReadLine();繼續讀取下一行

}直到文件的最後一行

sr.Close();//關閉流

}

catch (IOException ex){//處理異常

throw ex;

}

 

File類是靜態類, File方法都是靜態的,所以如果只想執行一個操作,那麼使用File方法的效率比使用相應的FileInfo 實例方法可能更高。所有的File方法都要求當前所操作的文件的路徑。File 類的靜態方法對所有方法都執行安全檢查。如果打算多次重用某個對象,可考慮改用FileInfo的相應實例方法,因為並不總是需要安全檢查。

二. C#的目錄操作

C#提供DirectoryInfo和Directory兩個類來處理與目錄相關的操作. 前者必須被實例化後才能使用,而後者則只提供了靜態的方法。如果多次使用某個對象一般使用前者;如果僅執行某一個操作則使用後者提供的靜態方法效率更

高一些。

DirectoryInfo的構造函數:DirectoryInfo di1 = new DirectoryInfo(@"c:\MyDir");

DirectoryInfo di2 = new DirectoryInfo("c:\\MyDir ");

下面舉例說明獲取一個目錄下的所有文件的名字和長度.

DirectoryInfo Info =

new DirectoryInfo("c:\\");

FileInfo []files = Info.GetFiles();

foreach (FileInfo text in files)

{

TextBox1.Text += text.Name;

TextBox1.Text +="  "+ text.Length;

TextBox1.Text += "\n";

}

 

FileInfo []files = Info.GetFiles();這個方法的作用是獲取當前目錄下所有的文件,不包含當中的子目錄.將所有的文件賦給一個文件類集合,再用Foreach循環來獲得每一個文件的名字和長度.

 

 

下一節將詳細介紹文件的讀取和寫入.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved