C# 讀取、寫入文字檔(StreamWriter and StreamReader)

先前有說明txt轉csv,因為有使用到System.IO中的StreamWriter和StreamReader,衝點文章數,所

以這邊也簡單說明一下怎麼使用。

不了解StreamWriter和StreamReader的話,可先參考MSDN說明:

先講寫入的部份,透過程式想寫入資料到TXT檔,會使用到StreamWriter這個類別。

在使用之前,記得先using

using System.IO;

首先先宣告一下

StreamWriter sw = new StreamWriter(@"D:\abc.txt")

參數裡的路徑和檔名,若有的話,會覆寫進去,若找不到該檔案,則會新增檔案。

宣告完了,寫入方式很簡單,如下

sw.Write("test");
sw.Close();

記得塞完值一定要關閉(sw.Close()),這樣資料才會寫入到TXT。


再來講讀取的部份,同樣必須先using。

接著宣告,

StreamReader sr = new StreamReader(@"D:\abc.txt");

一般通常會再宣告前判斷檔案是否存在,所以在外層加個判斷

if (File.Exists(@"D:\abc.txt"))
{
    //讀取txt code
}

接著讀取資料,通常TXT檔內容都是很多筆,因此會使用迴圈的方式一筆一筆抓取資料,

while ((line = sr.ReadLine()) != null) 
{
       Console.WriteLine(line.ToString());
}

while迴圈括號裡面的意思表示,將txt讀出來的一筆資料,指定給line這個變數,並判斷是否為

null,若是null代表沒資料。

整斷讀取程式碼大概如下所述

            if (File.Exists(@"D:\abc.txt"))
            {
                StreamReader sr = new StreamReader(@"D:\abc.txt");
                string line = string.Empty;
                while ((line = sr.ReadLine()) != null) 
                {
                    Console.WriteLine(line.ToString());
                }
                sr.Close();
                Console.ReadLine();
            }


最後,有時候寫入時或讀取時會出現亂碼,可參考連結說明。







留言

張貼留言