1. 程式人生 > >C# 對txt文字進行按行操作簡易教程

C# 對txt文字進行按行操作簡易教程

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();
        }

    }
}