
- C# 基礎教程
- C# - 首頁
- C# - 概述
- C# - 環境
- C# - 程式結構
- C# - 基本語法
- C# - 資料型別
- C# - 型別轉換
- C# - 變數
- C# - 常量
- C# - 運算子
- C# - 決策
- C# - 迴圈
- C# - 封裝
- C# - 方法
- C# - 可空型別
- C# - 陣列
- C# - 字串
- C# - 結構體
- C# - 列舉
- C# - 類
- C# - 繼承
- C# - 多型
- C# - 運算子過載
- C# - 介面
- C# - 名稱空間
- C# - 預處理器指令
- C# - 正則表示式
- C# - 異常處理
- C# - 檔案 I/O
C# - 檔案 I/O
一個檔案是儲存在磁碟上的一組資料,具有特定的名稱和目錄路徑。當開啟檔案進行讀取或寫入時,它就變成了一個流。
流基本上是透過通訊路徑傳遞的位元組序列。主要有兩個流:輸入流和輸出流。輸入流用於從檔案讀取資料(讀取操作),輸出流用於向檔案寫入資料(寫入操作)。
C# I/O 類
System.IO 名稱空間包含各種用於執行許多檔案操作的類,例如建立和刪除檔案、讀取或寫入檔案、關閉檔案等。
下表顯示了 System.IO 名稱空間中一些常用的非抽象類:
序號 | I/O 類及描述 |
---|---|
1 | BinaryReader 從二進位制流讀取原始資料。 |
2 | BinaryWriter 以二進位制格式寫入原始資料。 |
3 | BufferedStream 位元組流的臨時儲存。 |
4 | Directory 幫助操作目錄結構。 |
5 | DirectoryInfo 用於執行目錄操作。 |
6 | DriveInfo 提供驅動器資訊。 |
7 | File 幫助操作檔案。 |
8 | FileInfo 用於執行檔案操作。 |
9 | FileStream 用於讀取和寫入檔案中的任何位置。 |
10 | MemoryStream 用於對儲存在記憶體中的流資料進行隨機訪問。 |
11 | Path 執行路徑資訊操作。 |
12 | StreamReader 用於從位元組流讀取字元。 |
13 | StreamWriter 用於向流寫入字元。 |
14 | StringReader 用於從字串緩衝區讀取。 |
15 | StringWriter 用於向字串緩衝區寫入。 |
FileStream 類
System.IO 名稱空間中的FileStream類有助於讀取、寫入和關閉檔案。此類派生自抽象類Stream。
您需要建立一個FileStream物件來建立一個新檔案或開啟一個現有檔案。建立FileStream物件的語法如下:
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
例如,我們建立一個名為sample.txt的檔案的FileStream物件F,如下所示:
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
序號 | 引數及描述 |
---|---|
1 | FileMode FileMode列舉定義了開啟檔案的各種方法。FileMode列舉的成員有:
|
2 | FileAccess FileAccess列舉具有成員:Read、ReadWrite和Write。 |
3 | 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# 中簡單的檔案操作。但是,要利用 C# System.IO 類的強大功能,您需要了解這些類的常用屬性和方法。
序號 | 主題及描述 |
---|---|
1 | 讀取和寫入文字檔案
它涉及讀取和寫入文字檔案。StreamReader和StreamWriter類有助於實現此目的。 |
2 | 讀取和寫入二進位制檔案
它涉及讀取和寫入二進位制檔案。BinaryReader和BinaryWriter類有助於實現此目的。 |
3 | 操作 Windows 檔案系統
它使 C# 程式設計師能夠瀏覽和查詢 Windows 檔案和目錄。 |