C# 之 文件的輸入與輸出
C# 文件的輸入與輸出

一個 文件 是一個存儲在磁盤中帶有指定名稱和目錄路徑的數(shù)據(jù)集合。當打開文件進行讀寫時,它變成一個 流。
從根本上說,流是通過通信路徑傳遞的字節(jié)序列。有兩個主要的流:輸入流 和 輸出流。
C# I/O 類
System.IO 命名空間有各種不同的類,用于執(zhí)行各種文件操作,如創(chuàng)建和刪除文件、讀取或?qū)懭胛募?,關(guān)閉文件等。
下表列出了一些 System.IO 命名空間中常用的非抽象類:
創(chuàng)建一個 FileStream 對象 F 來讀取名為 sample.txt 的文件:
FileStream F = new FileStream(“sample.txt”, FileMode.Open, FileAccess.Read, FileShare.Read);
C#對文本文件的讀寫
StreamReader 和 StreamWriter 類用于文本文件的數(shù)據(jù)讀寫。這些類從抽象基類 Stream 繼承,Stream 支持文件流的字節(jié)讀寫。
StreamReader 類
StreamReader 類繼承自抽象基類 TextReader,表示閱讀器讀取一系列字符。
下表列出了 StreamReader 類中一些常用的方法:
簡單使用:
using System; using System.IO; //引用命名空間 namespace _6_2_2文本文件的讀寫 { class Program { static void Main(string[] args) { StreamReader sr = new StreamReader("Test.txt"); Console.WriteLine("文件第一行數(shù)據(jù):"+sr.ReadLine()); Console.WriteLine("文件中所有數(shù)據(jù):" +sr.ReadToEnd ()); Console.WriteLine("上面讀取文件中所有數(shù)據(jù),所有此行為空:"+sr.ReadLine()); //Console.WriteLine(":" + sr.Peek()); sr.Close(); Console.ReadKey(); } } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
注意:讀取文件的路徑一定要寫正確,否則會拋出下面的異常,
若只寫文件名,要讀取的文件需要放在此程序集下的Debug路徑下:
上面是測試文檔的內(nèi)容,下面是測試結(jié)果:
StreamWriter 類
StreamWriter 類繼承自抽象類 TextWriter,表示編寫器寫入一系列字符。
下表列出了 StreamWriter 類中一些常用的方法:
簡單示例:
using System; using System.IO; //引用命名空間 namespace _6_2_2文本文件的讀寫 { class Program { static void Main(string[] args) { //寫入數(shù)據(jù): StreamWriter sw = new StreamWriter("Test.txt"); //會自動覆蓋原文件中數(shù)據(jù) sw.Write("測試文本1"); sw.Close(); //讀取寫入數(shù)據(jù) StreamReader sr = new StreamReader("Test.txt"); Console.WriteLine("文件中所有數(shù)據(jù):" +sr.ReadToEnd ()); sr.Close(); Console.ReadKey(); } } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
輸出結(jié)果:
C#中很多方法都是重載的,使用時取自己所需要的即可!
本文參考自:http://www.runoob.com/csharp/csharp-file-io.html
C# 任務(wù)調(diào)度
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。