1、FileStream文件流ui
1.讀取數據url
1 public class ReadFile 2 { 3 /// <summary> 4 /// 讀取文件 5 /// FileMode.Create 建立一個新文件,若是文件已經存在則改寫舊文件 6 /// FileMode.CreateNew 建立一個文件,若是文件存在會發生異常,提示文件已經存在 7 /// FileMode.Open 打開文件,若是文件不存在則異常 8 /// FileMode.OpenOrCreate 打開文件,若是文件不存在,則建立一個新的文件而且打開文件 9 /// FileMode.Append 打開現有文件,而且在現有文件內容後面追加,若是文件不存在則異常 10 /// FileMode.Truncate 根據現有操做系統,截取文件裏面的內容,若是文件不存在則異常 11 /// </summary> 12 public static void Read(string FilePath) 13 { 14 FileStream fileStream = null; 15 try 16 { 17 fileStream = new FileStream(FilePath, FileMode.Truncate); 18 byte[] bytes = new byte[fileStream.Length]; 19 int read = fileStream.Read(bytes, 0, bytes.Length); 20 var result = Encoding.UTF8.GetString(bytes); 21 } 22 catch (Exception e) 23 { 24 if (fileStream != null) 25 { 26 fileStream.Dispose(); 27 } 28 Console.WriteLine(e.Message); 29 } 30 finally 31 { 32 if (fileStream != null) 33 { 34 fileStream.Close(); 35 fileStream.Dispose(); 36 } 37 } 38 } 39 }
2.寫入數據spa
1 public class WriteFile 2 { 3 public static void WriteText(string FilePath,string writeString) 4 { 5 FileStream fileStream = null; 6 try 7 { 8 //根據路徑打開文件 9 fileStream = new FileStream(@"C:\Users\Administrator\source\repos\OperatFile\OperatFile\1.txt", FileMode.Append); 10 //把字符串轉化成字節 11 byte[] bytes = Encoding.UTF8.GetBytes(writeString); 12 //寫入到文件 13 fileStream.Write(bytes, 0, bytes.Length); 14 } 15 catch (Exception e) 16 { 17 if (fileStream != null) 18 { 19 fileStream.Dispose(); 20 } 21 Console.WriteLine(e.Message); 22 } 23 finally 24 { 25 //關閉和釋放 26 if (fileStream != null) 27 { 28 fileStream.Close(); 29 fileStream.Dispose(); 30 } 31 } 32 } 33 }
2、StreamReader文本流操作系統
1.讀取數據日誌
1 public class SteamReadFile 2 { 3 /// <summary> 4 /// 讀取文件 5 /// </summary> 6 /// <param name="filePath">文件路徑</param> 7 public static void ReadFile(string FilePath) 8 { 9 try 10 { 11 using (StreamReader sr = new StreamReader(FilePath)) 12 { 13 var result = sr.ReadToEnd(); 14 Console.WriteLine(result); 15 } 16 } 17 catch (Exception e) 18 { 19 20 throw new Exception(e.Message); 21 } 22 } 23 }
2.寫入數據code
1 public class StreamWriteFile 2 { 3 /// <summary> 4 /// 寫入文件 5 /// </summary> 6 /// <param name="FilePath">文件路徑</param> 7 /// <param name="WriteString">待寫入字符串</param> 8 public static void WriteFile(string FilePath,string WriteString) 9 { 10 try 11 { 12 using (StreamWriter sr = new StreamWriter(FilePath)) 13 { 14 sr.WriteLine(WriteString); 15 } 16 } 17 catch (Exception e) 18 { 19 throw new Exception(e.Message); 20 } 21 } 22 }
3.寫入日誌實例
blog
1 public class LogHelper 2 { 3 /// <summary> 4 /// 文件路徑 5 /// </summary> 6 public static string FilePath = @"C:\Users\Administrator\source\repos\OperatFile\OperatFile\Files"; 7 static LogHelper() 8 { 9 //判斷文件夾是否存在,若是不存在,則從新建立 10 if (!Directory.Exists(FilePath)) 11 { 12 Directory.CreateDirectory(FilePath); 13 } 14 } 15 /// <summary> 16 /// 日誌寫入 17 /// Path.Combine(str1,str2,str3) 把傳入的參數拼接起來,而後返回新的字符串 18 /// File.AppendText(fullPath) 根據文件路徑,把新寫入的內容,拼接到文本後面 19 /// </summary> 20 public static void WriteLog() 21 { 22 try 23 { 24 var sb = BindData(); 25 string fullPath = Path.Combine(FilePath, $"{DateTime.Now.ToString("yyyy-MM-dd")}.txt"); 26 //判斷文件是否存在,若是不存在,則新建文件 27 if (!File.Exists(fullPath)) 28 { 29 File.Create(fullPath); 30 } 31 using (StreamWriter sw = File.AppendText(fullPath)) 32 { 33 sw.WriteLine(sb.ToString()); 34 } 35 } 36 catch (Exception e) 37 { 38 throw new Exception(e.Message); 39 } 40 41 } 42 /// <summary> 43 /// 綁定日誌信息 44 /// </summary> 45 /// <returns></returns> 46 private static StringBuilder BindData() 47 { 48 StringBuilder sb = new StringBuilder(); 49 DateTime operatDateTime = DateTime.Now; 50 string content = "讀寫文件功能"; 51 string operators = "小明"; 52 sb.AppendLine($"操做時間:{operatDateTime}"); 53 sb.AppendLine($"操做內容:{content}"); 54 sb.AppendLine($"操做人:{operators}"); 55 sb.AppendLine("------------------------------------------------------------------------------------------"); 56 return sb; 57 } 58 }
3、MemoryStream內存流內存
1 /// <summary> 2 /// 根據URL讀取內容到內存流 3 /// </summary> 4 /// <param name="url"></param> 5 /// <returns></returns> 6 public static string DownLoadByUrl(string url) 7 { 8 string result = string.Empty; 9 MemoryStream ms = null; 10 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; 11 HttpWebResponse response = request.GetResponse() as HttpWebResponse; 12 using (var stream = response.GetResponseStream()) 13 { 14 byte[] buffer = new byte[response.ContentLength]; 15 int actuallyRead = 0, offset = 0; 16 do 17 { 18 actuallyRead = stream.Read(buffer, offset, buffer.Length - offset); 19 offset += actuallyRead; 20 21 } while (actuallyRead > 0); 22 ms = new MemoryStream(buffer); 23 ms.Seek(0, SeekOrigin.Begin); 24 var byteArray = new byte[ms.Length]; 25 ms.Read(byteArray, 0, byteArray.Length); 26 result = Encoding.UTF8.GetString(byteArray); 27 } 28 response.Close(); 29 response.Dispose(); 30 return result; 31 }