C# 對txt文字進行按行操作簡易教程
阿新 • • 發佈:2018-12-10
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; namespace ReadTxtStr { public partial class Form1 : Form { public String StrFileName = @"F:\ccdangle.txt"; public static String StrToSave = ""; List<string> li = new List<string>(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { MessageBox.Show(StrFileName); li= readFileToList(StrFileName); writeListToFile(li, @"F:\ccd.txt"); } public static List<string> readFileToList(string fileName) { FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); List<string> list = new List<string>(); StreamReader m_streamReader = new StreamReader(fs);//中文亂碼加上System.Text.Encoding.Default,或則 System.Text.Encoding.GetEncoding("GB2312") //使用StreamReader類來讀取檔案 m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin); // 從資料流中讀取每一行,直到檔案的最後一行,並在richTextBox1中顯示出內容 string strLine = m_streamReader.ReadLine(); while (strLine != null) { list.Add(strLine); strLine = m_streamReader.ReadLine(); } //關閉此StreamReader物件 m_streamReader.Close(); return list; } public static void writeListToFile(List<string> pList, string myFileName) { if (File.Exists(myFileName)) { try { File.Delete(myFileName); } finally { }; } //建立一個檔案流,用以寫入或者建立一個StreamWriter System.IO.FileStream fs = new System.IO.FileStream(myFileName, FileMode.OpenOrCreate, FileAccess.Write); StreamWriter m_streamWriter = new StreamWriter(fs); m_streamWriter.Flush(); // 使用StreamWriter來往檔案中寫入內容 m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin); // 把richTextBox1中的內容寫入檔案 for (int i = 0; i < pList.Count; i++) { if (i == 0) { StrToSave = pList[i]; } else { StrToSave = StrToSave + "," + pList[i]; // m_streamWriter.WriteLine(pList[i]); } } MessageBox.Show(StrToSave); m_streamWriter.WriteLine(StrToSave); //關閉此檔案 m_streamWriter.Flush(); m_streamWriter.Close(); } } }