1. 程式人生 > 實用技巧 >C# 讀寫txt檔案方法

C# 讀寫txt檔案方法

引用:https://www.cnblogs.com/stilldream/p/10044011.html

新增引用:

using System.IO;

1.File類寫入文字檔案:

private void btnTextWrite_Click(object sender, EventArgs e)
        {
            //檔案路徑
            string filePath = @"E:\123\456.txt";

            //檢測資料夾是否存在,不存在則建立
            NiceFileProduce.CheckAndCreatPath(NiceFileProduce.DecomposePathAndName(filePath, NiceFileProduce.DecomposePathEnum.PathOnly));

            //定義編碼方式,text1.Text為文字框控制元件中的內容
            byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
            string mystr1 = Encoding.UTF8.GetString(mybyte);

            //寫入檔案
            //File.WriteAllBytes(filePath,mybyte);//寫入新檔案
            //File.WriteAllText(filePath, mystr1);//寫入新檔案
            File.AppendAllText(filePath, mystr1);//新增至檔案

        }

2.File類讀取文字檔案:

private void btnTexRead_Click(object sender, EventArgs e)
        {
            //檔案路徑
            string filePath = @"E:\123\456.txt";
            try
            {
                if (File.Exists(filePath))
                {
                    text1.Text = File.ReadAllText(filePath);
                    byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
                    text1.Text = Encoding.UTF8.GetString(mybyte);
                }
                else
                {
                    MessageBox.Show("檔案不存在");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

3.StreamWrite類寫入文字檔案:

private void btnTextWrite_Click(object sender, EventArgs e)
        {
            //檔案路徑
            string filePath = @"E:\123\456.txt";

            try
            {
                //檢測資料夾是否存在,不存在則建立
                string mystr1 = NiceFileProduce.CheckAndCreatPath(NiceFileProduce.DecomposePathAndName(filePath, NiceFileProduce.DecomposePathEnum.PathOnly));

                using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8))
                {
                    byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
                    text1.Text = Encoding.UTF8.GetString(mybyte);
                    sw.Write(text1.Text);
                }

            }
            catch
            {

            }
        }

4.StreamReader類讀取文字文件:

private void btnTexRead_Click(object sender, EventArgs e)
        {
            //檔案路徑
            string filePath = @"E:\123\456.txt";
            try
            {
                if (File.Exists(filePath))
                {
                    using (StreamReader sr = new StreamReader(filePath, Encoding.UTF8))
                    {
                        text1.Text = sr.ReadToEnd();
                        byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
                        text1.Text = Encoding.UTF8.GetString(mybyte);
                    }
                }
                else
                {
                    MessageBox.Show("檔案不存在");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

----------------------------------------------------------------------------------------------

遇到的常見錯誤:

1.ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一個“方法”,這在給定的上下文中無效

解決方法:Controller.File方法和System.IO.File類名稱衝突的問題,只要完整輸入明確類名就可解決。

例如:File.ReadAllText(); 改為 System.IO.File.ReadAllText();