C#對各種文件的操作-txt(1)


C#對txt文件的操作

  由於工作中需要對各種文件進行解析,讀寫操作,結合網上的一些比較好的方法。總結一套C#對各種文件的操作。

A . 寫入和讀取txt文件,首先對文件和文件進行判斷,如果文件或文件夾存在或不存在,都有不同的解決辦法。讀寫txt文件,下面代碼顯示了兩種方法,分別是直接操作和以流的方式操作

關鍵類:Directory,  File, StreamWriter, StreamReader

關鍵命名空間:System.IO

個人覺得,命名空間和類在學習一個新的方法時是非常重要的,在VS上面引入命名空間,閱讀方法的詳細注釋和官方文檔,再做一兩個demo應該是最快的捷徑了。

 

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Threading.Tasks;
  6 using System.IO;
  7 
  8 namespace TxtWriteAndRead
  9 {
 10     class Program
 11     {
 12         static void Main(string[] args)
 13         {
 14             string str = @"C:\Users\wuxinlong\Desktop\demo\txt\testFile";
 15             Program Function = new Program();
 16             //Function.TextWrite(str);
 17             Function.TextRead(str);
 18             Console.ReadKey();
 19         }
 20 
 21         /// <summary>
 22         /// 寫文本文件,換行,不換行,以流的方式寫數據
 23         /// </summary>
 24         public void TextWrite(string str)
 25         {            
 26             if (Directory.Exists(str) == false) //如果不存在就創建file文件夾
 27             {
 28                 Directory.CreateDirectory(str);
 29             }
 30             //Directory.Delete(@"C:\Users\wuxinlong\Desktop\demo\博客園測試\testFile");//刪除空的目錄
 31             //Directory.Delete(@"C:\Users\wuxinlong\Desktop\demo\博客園測試\testFile", true);//刪除目錄及目錄下的所有文件夾和文件
 32 
 33             //判斷文件的存在
 34             if (File.Exists(str + "\\Test.txt"))
 35             {
 36                 Console.WriteLine("該文件已經存在");
 37                 Console.ReadKey();
 38             }
 39             else
 40             {
 41                 //如果文件不存在,則創建該文件
 42                 File.Create(str + "\\Test.txt");
 43             }
 44 
 45             //寫入字符串數組,並且換行
 46             string[] lines = { "first line", "second line", "third line", "第四行" };
 47             //如果該文件存在,並向其中追加寫入數據
 48             if (File.Exists(str + "\\Test.txt"))
 49             {
 50                 File.AppendAllLines(str + "\\Test.txt", lines, Encoding.UTF8);
 51             }
 52             else
 53             //如果該文件不存在,則創建該文件,寫入數據
 54             {
 55                 //如果該文件存在,這個方法會覆蓋該文件中的內容
 56                 File.WriteAllLines(str + "\\Test.txt", lines, Encoding.UTF8);
 57             }
 58 
 59             //如果文件不存在,則創建;存在則覆蓋
 60             string strTest = "測試一個字符串寫入文本文件,並且覆蓋";
 61             System.IO.File.WriteAllText(str + "\\Test.txt", strTest, Encoding.UTF8);
 62 
 63             //以流的方式寫數據到文本文件中
 64             using (StreamWriter file = new StreamWriter(str + "\\Test.txt", true)) //如果該文件存在,則覆蓋
 65             {
 66                 foreach (string line in lines)
 67                 {
 68                     if (!line.Contains("second"))
 69                     {
 70                         file.Write(line); //追加文件末尾,不換行
 71                         file.WriteLine(line); //追加文件末尾,換行
 72                     }
 73                 }
 74             }
 75         }
 76 
 77         public void TextRead(string str)
 78         {
 79             //直接讀取出字符串
 80             string text = File.ReadAllText(str + "\\Test.txt");
 81             Console.WriteLine(text);
 82 
 83             //按行讀取為字符串,轉換為數組
 84             string[] lines = File.ReadAllLines(str + "\\Test.txt");
 85             foreach (string line in lines)
 86             {
 87                 Console.WriteLine(line);
 88             }
 89 
 90             //從頭到尾以流的方式讀出文本文件
 91             //該方法會一行一行讀出文本
 92             using (StreamReader sr = new StreamReader(str + "\\Test.txt"))
 93             {
 94                 string strs;
 95                 while ((strs = sr.ReadLine()) != null)
 96                 {
 97                     Console.WriteLine(strs);
 98                 }
 99             }
100             Console.Read();
101 
102         }
103     }
104 }

 

 

 

  

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM