标签:write delete 路径 bsp 方法 返回 col ati 很多
在.net的日常工作中IO是一个作为.Net开发常用的一种流
在其中有很多种方法,在这里我简单的举几个比较简单的例子
1,常用的关于文件和文件夹 相关属性
Directory DirectoryInfo File FileInfo
在我们的日常工作中很多时候我们都要有先的去查找文件或者文件夹是否存在时我们常用的一种属性有
Directory.Exists(LogPath) File.Exists(LogPath) 查找文件或者文件夹是否存在Exists返回值是布尔类型,所以一般用于判断
路径拼接 Path.Combine(LogPath, "info.txt") 可以很好的将数据链接拼上去
1 if (!Directory.Exists(LogPath))//检测文件夹是否存在 2 { 3 4 } 5 DirectoryInfo directory = new DirectoryInfo(LogPath);//不存在不报错 注意exists属性 6 Console.WriteLine(string.Format("{0} {1} {2}", directory.FullName, directory.CreationTime, directory.LastWriteTime)); 7 if (!File.Exists(Path.Combine(LogPath, "info.txt"))) 8 { 9 } 10 11 FileInfo fileInfo = new FileInfo(Path.Combine(LogPath, "info.txt")); 12 Console.WriteLine(string.Format("{0} {1} {2}", fileInfo.FullName, fileInfo.CreationTime, fileInfo.LastWriteTime));
下面简单的介绍一下关于文件和文件夹我们常用的一些属性,比较常用的一些
1 Directory.Move(LogPath, LogMovePath);//移动 原文件夹就不在了 相当于剪切 2 Directory.Delete(LogMovePath);//删除 3 File.Copy(fileName, fileNameCopy); 4 File.Move(fileName, fileNameMove); 5 File.Delete(fileNameMove);//尽量不要delete 6 7 切记 Directory.Copy(LogPath, LogMovePath);是错误的Directory是没有Copy方法的 8
下面是关于File的一些写入操作
1 { 2 //File 3 string fileName = Path.Combine(LogPath, "log.txt"); 4 string fileNameCopy = Path.Combine(LogPath, "logCopy.txt"); 5 string fileNameMove = Path.Combine(LogPath, "logMove.txt"); 6 7 if (!File.Exists(fileName)) 8 { 9 Directory.CreateDirectory(LogPath);//创建了文件夹之后,才能创建里面的文件 10 using (FileStream fileStream = File.Create(fileName))//打开文件流 (创建文件并写入) 11 { 12 string name = "12345567778890"; 13 byte[] bytes = Encoding.Default.GetBytes(name); 14 fileStream.Write(bytes, 0, bytes.Length); 15 fileStream.Flush(); 16 } 17 using (FileStream fileStream = File.Create(fileName))//打开文件流 (创建文件并写入) 18 { 19 StreamWriter sw = new StreamWriter(fileStream); 20 sw.WriteLine("StreamWriter"); 21 sw.Flush(); 22 } 23 24 using (StreamWriter sw = File.AppendText(fileName))//流写入器(创建/打开文件并写入) 25 { 26 string msg = "YZMAppendText"; 27 sw.WriteLine(msg); 28 sw.Flush(); 29 } 30 using (StreamWriter sw = File.AppendText(fileName))//流写入器(创建/打开文件并写入) 31 { 32 string name = "StreamWriterbyte"; 33 byte[] bytes = Encoding.Default.GetBytes(name); 34 sw.BaseStream.Write(bytes, 0, bytes.Length); 35 sw.Flush(); 36 } 37 38 39 40 foreach (string result in File.ReadAllLines(fileName)) 41 { 42 Console.WriteLine(result); 43 } 44 string sResult = File.ReadAllText(fileName); 45 Byte[] byteContent = File.ReadAllBytes(fileName); 46 string sResultByte = System.Text.Encoding.UTF8.GetString(byteContent); 47 48 using (FileStream stream = File.OpenRead(fileName))//分批读取可以有效的防止文件过大打不开的效果 49 { 50 int length = 5; 51 int result = 0; 52 53 do 54 { 55 byte[] bytes = new byte[length]; 56 result = stream.Read(bytes, 0, 5);//自己定义byte的长度 57 for (int i = 0; i < result; i++) 58 { 59 Console.WriteLine(bytes[i].ToString()); 60 } 61 } 62 while (length == result); 63 } 64 65 File.Copy(fileName, fileNameCopy); 66 File.Move(fileName, fileNameMove); 67 File.Delete(fileNameCopy); 68 File.Delete(fileNameMove);//尽量不要delete 69 } 70 }
标签:write delete 路径 bsp 方法 返回 col ati 很多
原文地址:https://www.cnblogs.com/YZM97/p/11802643.html