一 .NET Framework 類庫的System.IO 命名空間
System.IO 命名空間包含允許讀寫檔案和資料流的類型以及提供基本檔案和目錄支援的類型。
二 C# 檔案讀寫之 FileStream 詳解
// 直接用 FileStream 類開啟檔案
FileStream fs1 = File.Open("c://test.txt", FileMode.Open);
// 以追加的方式開啟檔案"c://test.txt",將某些內容寫到"c://test.txt"裡
FileStream fs2 = File.Open("c://test.txt", FileMode.Append, FileAccess.Write);
// 將檔案開啟清空裡面的內容後再對檔案進行操作
FileStream fs3 = File.Open("c://test.txt", FileMode.Truncate, FileAccess.ReadWrite, FileShare.Read);
// 這個方法的意思是建立一個可以讀寫的檔案,並且可以允許其他人讀取檔案的內容
FileStream MyFileStream1 = new FileStream(@"c:/Testing.txt", FileMode.Create);
三 C# 基於流的輸入輸出
C#基於流的輸入輸出.:Stream-通過C# I/O 系統與物理裝置串連起來,也就是平時讀寫的硬碟等物理存貯裝置.流/Stream的方法和屬性有:
void Close() |
關閉流 |
void Flush() |
清理流中的內容 |
int ReadByte() |
返回一個整數表示輸入的位元組數,如果沒有資料返回 -1 |
int Read(byte[ ] buf,int offset, int numBytes) |
將numBytes個位元組讀入到byte[ ]的以offset為,起始位置,返回讀入成功的位元組數 |
Long Seek(long offset,SeekOrigin origin) |
將當前位置定位到以origin為初始位置以後的offset處 |
void WriteByte(byte b) |
將單個位元組寫入到一個輸出資料流 |
void Write(byte[ ] buf,int offset, int numBytes) |
寫入byte[ ] buf中從offset開始的numBytes個位元組 |
bool CanRead |
是否可讀 |
bool CanSeek |
是否支援定址 |
bool CanWrite |
是否可以寫入資料 |
long Length |
流的長度 |
long Position |
流的當前位置 |
四 流的繼承結構
Stream 是一個很大的類,在讀寫檔案的時候,可以通過不同的流進行專業的資料讀寫.
FileMode 的屬性及含義
FileMode.Create |
建立檔案,之前存在同名的檔案將被毀掉 |
FileMode.CreateNew |
建立新檔案,這個檔案之前不存在 |
FileMode.Open |
開啟已經存在的檔案 |
FileMode.OpenOrCreate |
開啟檔案如果存在,否則建立新檔案 |
FileMode.Truncate |
開啟以存在的檔案,將它的內容清除掉 |
FileMode.Append |
以追加的形式將資料寫入到檔案的最後 |
FileAccess 的屬性及含義
FileAccess.Read |
讀檔案 |
FileAccess.Write |
寫檔案 |
FileAccess.ReadWrite |
讀寫檔案 |