瞭解下C# 檔案的輸入與輸出
從根本上說,流是透過通訊路徑傳遞的位元組序列。有兩個主要的流:輸入流 和 輸出流。輸入流用於從檔案讀取資料(讀操作),輸出流用於向檔案寫入資料(寫操作)。
System.IO 名稱空間有各種不同的類,用於執行各種檔案操作,如建立和刪除檔案、讀取或寫入檔案,關閉檔案等。
下表列出了一些 System.IO 名稱空間中常用的非抽象類:
I/O 類 | 描述 |
---|---|
BinaryReader | 從二進位制流讀取原始資料。 |
BinaryWriter | 以二進位制格式寫入原始資料。 |
BufferedStream | 位元組流的臨時儲存。 |
Directory | 有助於操作目錄結構。 |
DirectoryInfo | 用於對目錄執行操作。 |
DriveInfo | 提供驅動器的資訊。 |
File | 有助於處理檔案。 |
FileInfo | 用於對檔案執行操作。 |
FileStream | 用於檔案中任何位置的讀寫。 |
MemoryStream | 用於隨機訪問儲存在記憶體中的資料流。 |
Path | 對路徑資訊執行操作。 |
StreamReader | 用於從位元組流中讀取字元。 |
StreamWriter | 用於向一個流中寫入字元。 |
StringReader | 用於讀取字串緩衝區。 |
StringWriter | 用於寫入字串緩衝區。 |
System.IO 名稱空間中的 FileStream 類有助於檔案的讀寫與關閉。該類派生自抽象類 Stream。
您需要建立一個 FileStream 物件來建立一個新的檔案,或開啟一個已有的檔案。建立 FileStream 物件的語法如下:
FileStream <object_name> = new FileStream( <file_name>,<FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
例如,建立一個 FileStream 物件 F 來讀取名為 sample.txt 的檔案:
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
引數 | 描述 |
---|---|
FileMode |
FileMode 列舉定義了各種開啟檔案的方法。FileMode 列舉的成員有:
|
FileAccess |
FileAccess 列舉的成員有: Read、 ReadWrite 和 Write。 |
FileShare |
FileShare 列舉的成員有:
|
下面的程式演示了 FileStream 類的用法:
例項
using System; using System.IO; namespace FileIOApplication { class Program { static void Main(string[] args) { FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite); for (int i = 1; i <= 20; i++) { F.WriteByte((byte)i); } F.Position = 0; for (int i = 0; i <= 20; i++) { Console.Write(F.ReadByte() + " "); } F.Close(); Console.ReadKey(); } } }
當上面的程式碼被編譯和執行時,它會產生下列結果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
上面的例項演示了 C# 中簡單的檔案操作。但是,要充分利用 C# System.IO 類的強大功能,您需要知道這些類常用的屬性和方法。
在下面的章節中,我們將討論這些類和它們執行的操作。請單擊連結詳細瞭解各個部分的知識:
主題 | 描述 |
---|---|
它涉及到文字檔案的讀寫。 StreamReader 和 StreamWriter 類有助於完成文字檔案的讀寫。 | |
它涉及到二進位制檔案的讀寫。 BinaryReader 和 BinaryWriter 類有助於完成二進位制檔案的讀寫。 | |
它讓 C# 程式設計師能夠瀏覽並定位 Windows 檔案和目錄。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2898563/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 瞭解下C#異常時的輸出C#
- C輸入輸出與檔案
- python:檔案的輸入與輸出Python
- java_檔案輸入與輸出Java
- 排序,檔案輸入輸出排序
- 檔案操作-輸入輸出
- C++中的檔案輸入/輸出(3):掌握輸入/輸出流 (轉)C++
- 第10章 對檔案的輸入輸出
- 【C++】標準檔案的輸入輸出!!!C++
- C++中的檔案輸入/輸出(4):檢測輸入/輸出的狀態標誌 (轉)C++
- C++中的檔案輸入/輸出(2):讀取檔案 (轉)C++
- Python進階02 文字檔案的輸入輸出Python
- 第九章:輸入/輸出流與檔案操作 習題
- 檔案輸入輸出處理(二)-位元組流
- linux中的輸入與輸出管理(重定向輸入,輸出,管道符)Linux
- 與小卡特一起學python 第22章 檔案輸入與輸出Python
- Python資料的輸入與輸出Python
- RSS檔案輸出(ASP.NET C#版)ASP.NETC#
- Linux 下的檔案管理&管理系統中的輸出輸入Linux
- C# 的輸入輸出,(同一行/換行)C#
- C++中的檔案輸入/輸出(5):二進位制檔案的處理 (轉)C++
- 輸入輸出
- Python 快速教程(進階篇02):文字檔案的輸入輸出Python
- 資料儲存與輸出輸入
- 分治法求眾數和重數(含檔案輸入輸出)
- 使用Java NIO 和 NIO2實現檔案輸入/輸出Java
- C++ 中輸入輸出流及檔案流操作筆記C++筆記
- 笨辦法學C 練習24:輸入輸出和檔案
- 輸入輸出流
- 專案整合管理主要輸入、工具、輸出
- C++中的檔案輸入/輸出(1):你的第一個程式 (轉)C++
- 資料的輸入輸出
- Python的輸入輸出Python
- converter設計模式擴充套件,多種輸入輸出與標準輸入輸出的轉化方案設計模式套件
- 5,輸入與輸出(perl語言筆記)筆記
- 檔案輸入和輸入出處理(六)-序列化和反序列化
- 【C++】輸入輸出C++
- Java 輸入輸出流Java