C#使用StreamReader和StreamWriter類讀寫操作文件
StreamReader 類 (System.IO) | Microsoft 官方文檔
StreamWriter 類 (System.IO) | Microsoft 官方文檔
一、文本讀寫類:
TextReader/TextWriter:文本讀寫,抽象類
1、TextReader文本讀,其派生類:
- StreamReader:以一種特定的編碼從字節(jié)流中讀取字符。
- StringReader:從字符串讀取。
2、TextWriter文本寫,其派生類:
- StreamWriter:以一種特定的編碼向流中寫入字符。
- StringWriter:將信息寫入字符串, 該信息存儲在基礎 StringBuilder 中。
- IndentedTextWriter:提供可根據(jù) Tab 字符串標記縮進新行的文本編寫器。
- HttpWriter:提供通過內(nèi)部 TextWriter 對象訪問的 HttpResponse 對象。
- HtmlTextWriter:將標記字符和文本寫入 ASP.NET 服務器控件輸出流。 此類提供 ASP.NET 服務器控件在向客戶端呈現(xiàn)標記時使用的格式化功能。
二、StreamReader類,讀文件
1、實例:
構(gòu)造函數(shù):默認編碼為UTF-8
StreamReader srAsciiFromFile = new StreamReader("C:\\Temp\\Test.txt", System.Text.Encoding.ASCII);
StreamReader srAsciiFromStream = new StreamReader( (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),System.Text.Encoding.ASCII);1、從文件讀取文本 Read(),Peek()
using (StreamReader sr = new StreamReader(path))
{
while (sr.Peek() >= 0)
{
Console.Write((char)sr.Read());
}
}2、調(diào)用其ReadAsync()方法以異步方式讀取文件。
static async Task Main()
{
await ReadAndDisplayFilesAsync();
}
static async Task ReadAndDisplayFilesAsync()
{
String filename = "C:\\s.xml";
Char[] buffer;
using (var sr = new StreamReader(filename))
{
buffer = new Char[(int)sr.BaseStream.Length];
await sr.ReadAsync(buffer, 0, (int)sr.BaseStream.Length);
}
Console.WriteLine(new String(buffer));
}3、讀取一行字符。ReadLine()
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
string line;
// Read and display lines from the file until the end of the file is reached.
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}4、讀取到一個操作中的文件的末尾。ReadToEnd()
using (StreamReader sr = new StreamReader(path))
{
Console.WriteLine(sr.ReadToEnd());
}三、StreamWriter類,寫文件
實例:
StreamWriter類允許直接將字符和字符串寫入文件
//保留文件現(xiàn)有數(shù)據(jù),以追加寫入的方式打開d:\file.txt文件
using (StreamWriter sw = new StreamWriter(@"d:\file.txt", true)) //true 表示追加
{
//向文件寫入新字符串,并關閉StreamWriter
sw.WriteLine("Another File Operation Method");
}到此這篇關于C#使用StreamReader和StreamWriter類讀寫操作文件的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
詳解C# List<T>的Contains,Exists,Any,Where性能對比
這篇文章主要介紹了詳解C# List<T>的Contains,Exists,Any,Where性能對比,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
Unity?UGUI的GraphicRaycaster射線投射組件介紹使用
這篇文章主要為大家介紹了Unity?UGUI的GraphicRaycaster射線投射組件介紹使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07
C#難點逐個擊破(6):C#數(shù)據(jù)類型與.net framework數(shù)據(jù)類型
最近開始看Illustrator C#2008,這真是一本好書,我讀計算機書籍這么多了,能讓我稱為好書的沒有多少。2010-02-02
字符串陣列String[]轉(zhuǎn)換為整型陣列Int[]的實例
下面小編就為大家分享一篇字符串陣列String[]轉(zhuǎn)換為整型陣列Int[]的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12

