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:在下新人,若有错误,还请各位指出~~~