Asp.Net中文件操作類,命名空間位於System.IO下。
關於文件夾的操作類Directory
string tPath="C:\Log\"; string tMovePath="C:\Move\"; if (!Directory.Exists(LogPath)) { DirectoryInfo directoryInfo = Directory.CreateDirectory(tPath);//一次性創建全部的路徑 Directory.Move(tPath, tMovePath);//移動, 相當於剪切操作 Directory.Delete(tMovePath);//刪除 }
文件操作類File
//tips:寫入為.WriteLine("xxx")都是每次寫入一行 string fileName = Path.Combine(tPath, "text.txt"); string fileNameCopy = Path.Combine(tPath, "textCopy.txt"); string fileNameMove = Path.Combine(tPath, "logMove.txt"); bool isExists = File.Exists(fileName); if (!isExists) { Directory.CreateDirectory(tPath);//只有創建文件夾之后,才能創建里面的文件,不然會報錯 using (FileStream fileStream = File.Create(fileName))//打開文件流 (創建一個文件並寫入) { string name = "test"; byte[] bytes = Encoding.Default.GetBytes(name); fileStream.Write(bytes, 0, bytes.Length); fileStream.Flush(); } using (FileStream fileStream = File.Create(fileName))//打開文件流 (創建文件並寫入、這種會覆蓋之前的內容) { StreamWriter sw = new StreamWriter(fileStream); sw.WriteLine("test2"); sw.Flush(); } using (StreamWriter sw = File.AppendText(fileName))//流寫入器(創建/打開文件並寫入,這是以追加的方式寫入文檔末尾,並不會覆蓋之前的文字信息,寫入方式為一行一行的寫入) { string tips= "我不會覆蓋之前的內容,只是已追加的方式寫入文件,並且以一行一行的方式寫入文件"; sw.WriteLine(tips); sw.Flush(); } using (StreamWriter sw = File.AppendText(fileName))//流寫入器(創建/打開文件並寫入,是以字節流的方式寫入文檔末尾,也不會覆蓋之前的文字信息) { string name = "我也不會覆蓋"; byte[] bytes = Encoding.Default.GetBytes(name); sw.BaseStream.Write(bytes, 0, bytes.Length); sw.Flush(); } //讀取文件內容,這種讀取方式如果遇到比較大的文件時。可能會卡死哦。最好的辦法是就按照指定的字節讀取文件中的內容,我們讀取的文件都是存放到內存中的,如果文件過大,內存直接爆掉,有興趣的小盆友可以試試打開一個30M的字典文件看一看噢! foreach (string result in File.ReadAllLines(fileName)) { Console.WriteLine(result); } string sResult = File.ReadAllText(fileName); Byte[] byteContent = File.ReadAllBytes(fileName); string sResultByte = System.Text.Encoding.UTF8.GetString(byteContent);
File.Copy(fileName, fileNameCopy);//復制 File.Move(fileName, fileNameMove);//剪切 File.Delete(fileNameCopy);//刪除 File.Delete(fileNameMove);//
如何獲取一個文件夾的信息:FileInfo
FileInfo fileInfo = new FileInfo("文件夾路徑"); Console.WriteLine($"{fileInfo.FullName},{fileInfo.CreationTime},{fileInfo.LastWriteTime}");
獲取電腦驅動信息:DriveInfo
DriveInfo[] drives = DriveInfo.GetDrives(); foreach (DriveInfo drive in drives) { if (drive.IsReady) Console.WriteLine("類型:{0} 卷標:{1} 名稱:{2} 總空間:{3} 剩余空間:{4}", drive.DriveType, drive.VolumeLabel, drive.Name, drive.TotalSize, drive.TotalFreeSpace); else Console.WriteLine("類型:{0} ", drive.DriveType); }
如何拼接文件路徑:Path.Combine
//這樣可以將兩個字符串自動拼接成為一個文正的文件路徑 Path.Combine(tPath, "info.txt")
PS:在下新人,若有錯誤,還請各位指出~~~