天天看點

C#的檔案操作寫入文本檔案

寫入文本檔案

//建立檔案流
FileStream fs = new FileStream(string filePath,FileMode.Create);//filePath為路徑,FileMode為打開檔案的模式
​
//建立寫入器
StreamWrite sw = new StreamWrite(fs);
​
//将錄入資訊内容寫入檔案
​
sw.Write("");
​
//寫入一行資料
sw.WriteLine("");
//必須關閉寫入器和流
sw.Close();
fs.Close();      

FileMode為枚舉類型,常見值:

  1. Create:用指定名稱建立一個檔案,如果檔案存在,改寫舊檔案
  2. CreateNew:建立一個新檔案,檔案已存在則抛出異常
  3. Open:打開一個檔案,檔案必須存在
  4. OpenOrCreate:打開一個檔案,檔案不存在,用指定名稱建立并打開
  5. Append:打開現有檔案,并在檔案末尾追加内容

讀取文本檔案

FileStream fs =new FileStream(string filePath,FileMode.Open);
//建立讀取器
StreamReader sr = new StreamReader(fs,Encoding.Default);
//讀取檔案的所有内容
sr.ReadToEnd();
//必須關閉寫入器和流
sw.Close();
fs.Close();      

解決亂碼問題:

使用Encoding的靜态成員指定字元編碼(P201)

File類

//檢查指定檔案是否存在
File.Exits(string path);
//将原檔案複制到另一個新檔案
File.Copy("","");
//将指定檔案移動到一個新路徑
File.Move("","");
//删除指定檔案
File.Delete("");      

使用時總會進行安全檢查

FileInfo類

必須執行個體化,使用時不總是會進行安全檢查

FileInfo fi=new FileInfo("");
fi.Exits;//屬性,檢查檔案是否存在
fi.Name;//擷取檔案名
fi.Extension;//擷取檔案擴充名部分的字元串
fi.FullName;//擷取完整目錄
fi.Directory.Name;//擷取檔案目錄名
fi.CopyTo("");//将現有檔案複制到新檔案,不允許覆寫現有檔案
fi.Delete();//删除檔案
fi.MoveTo("");//将檔案移動到新位置      

DirectoryInfo類

必須執行個體化

DirectoryInfo di = new DirectoryInfo("");
//傳回目前目錄的子目錄
DirectoryInfo[]subDir=di.GetDirectories();
//傳回目前目錄的檔案清單
FileInfo[]fi=di.GetFiles();