Home [C# 筆記] StreamReader & StreamWrite
Post
Cancel

[C# 筆記] StreamReader & StreamWrite

StreamReader、StreamWrite 和 FileStream 的區別

  • FileStream操作位元組byte的
    可以處理所有的檔案、可以處理大檔案。
  • StreamReader&StreamWrite操作字元的
    只能處理文本的。

所以FileStream必須要掌握的。

使用using(){...}兩個作用:

  • 關閉Stream
  • 釋放Stream所占的資源

使用StreamReader來讀取一個文本文件

1
2
3
4
5
6
7
8
9
10
using (StreamReader sr = new StreamReader(@"C:\Users\rivalin\Desktop\lala.txt"))
{
    //因為是一行一行的話,所以需要用迴圈
    //EndOfStream是否讀到結尾
    //!EndOfStream如果沒有讀到最後,就不停的讀, 不停的輸出
    while (!sr.EndOfStream)
	{
        Console.WriteLine(sr.ReadLine()); //sr.ReadLine一行一行的讀
    }
}

如果讀出有亂碼,就加上Encoding.Default
using (StreamReader sr = new StreamReader(@”C:\Users\rivalin\Desktop\lala.txt”, Encoding.Default))

使用StreamWrite來寫入一個文本文件

1
2
3
4
5
using (StreamWriter sw = new StreamWriter(@"C:\Users\rivalin\Desktop\new.txt"))
{
    sw.Write("今天天氣真好啊");
}
Console.WriteLine("done.");

重複寫入會覆蓋掉內容,設定Append=ture即可

設定Append=ture不會覆蓋掉原來的內容,只會追加在文本的最後
StreamWriter sw = new StreamWriter(path, append: true)

1
2
3
4
5
using (StreamWriter sw = new StreamWriter(@"C:\Users\rivalin\Desktop\new.txt", true))
{
    sw.Write("我是新增的喔~");
}
Console.WriteLine("done.");
This post is licensed under CC BY 4.0 by the author.