乙個檔案是乙個儲存在磁碟中帶有指定名稱和目錄路徑的資料集合。當開啟檔案進行讀寫時,它變成乙個流。
從根本上說,流是通過通訊路徑傳遞的位元組序列。有兩個主要的流:輸入流和輸出流。輸入流用於從檔案讀取資料(讀操作),輸出流用於向檔案寫入資料(寫操作)。
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=newfilestream(,,,);例如,建立乙個 filestream 物件f來讀取名為sample.txt的檔案:
filestreamf =newfilestream("sample.txt",filemode.open,fileaccess.read,fileshare.read);引數
描述filemode
filemode列舉定義了各種開啟檔案的方法。filemode 列舉的成員有:
create:建立乙個新的檔案。如果檔案已存在,則刪除舊檔案,然後建立新檔案。
createnew:指定作業系統應建立乙個新的檔案。如果檔案已存在,則丟擲異常。
open:開啟乙個已有的檔案。如果檔案不存在,則丟擲異常。
openorcreate:指定作業系統應開啟乙個已有的檔案。如果檔案不存在,則用指定的名稱建立乙個新的檔案開啟。
truncate:開啟乙個已有的檔案,檔案一旦開啟,就將被截斷為零位元組大小。然後我們可以向檔案寫入全新的資料,但是保留檔案的初始建立日期。如果檔案不存在,則丟擲異常。
fileaccess
fileaccess列舉的成員有:read、readwrite和write。
fileshare
fileshare列舉的成員有:
下面的程式演示了filestream類的用法:
usingsystem;
using
system.io;
namespace
f.position = 0
;
for (int i = 0; i <= 20; i++)
f.close();
console.readkey();}}
}當上面的**被編譯和執行時,它會產生下列結果:12
3456
78910
1112
1314
1516
1718
1920 -1
上面的例項演示了 c# 中簡單的檔案操作。但是,要充分利用 c# system.io 類的強大功能,您需要知道這些類常用的屬性和方法。
主題描述
文字檔案的讀寫
它涉及到文字檔案的讀寫。streamreader和streamwriter類有助於完成文字檔案的讀寫。
二進位制檔案的讀寫
它涉及到二進位制檔案的讀寫。binaryreader和binarywriter類有助於完成二進位制檔案的讀寫。
windows 檔案系統的操作
它讓 c# 程式設計師能夠瀏覽並定位 windows 檔案和目錄。
檔案的輸入與輸出
io庫型別和標頭檔案 1.iostream istream,ostream,iostream 2.fstream ifstram,ofstream,fstream 3.sstream istringstream,ostringstream,stringstream io物件無拷貝和複製 fstrea...
檔案輸入與輸出
1.檔案的讀取 即是讀取檔案的資料的行為,讀取原始檔案位元組流,除了文字必須指定編碼集 文字是拿給使用者看的有意義內容 其他資料一般不指定編碼集,因為不是拿來看的,位元組資料長什麼我們並不關注 要想對文字檔案進行讀取,就需要乙個用 file 物件構造乙個 scanner 物件,如下所示 scanne...
檔案輸入的輸出
字元的讀寫 fgetc 和 fputc 字元輸入 ch getchar while ch n 字串的讀寫 fgets 和 fputs 資料庫的讀寫 fread 和 fwrite 1 size t fread void ptr,size t size,size t count,file stream ...