寫入文本檔案
//建立檔案流
FileStream fs = new FileStream(string filePath,FileMode.Create);//filePath為路徑,FileMode為打開檔案的模式
//建立寫入器
StreamWrite sw = new StreamWrite(fs);
//将錄入資訊内容寫入檔案
sw.Write("");
//寫入一行資料
sw.WriteLine("");
//必須關閉寫入器和流
sw.Close();
fs.Close();
FileMode為枚舉類型,常見值:
- Create:用指定名稱建立一個檔案,如果檔案存在,改寫舊檔案
- CreateNew:建立一個新檔案,檔案已存在則抛出異常
- Open:打開一個檔案,檔案必須存在
- OpenOrCreate:打開一個檔案,檔案不存在,用指定名稱建立并打開
- 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();