如何有效的使用C 讀取檔案

2021-08-22 07:34:34 字數 978 閱讀 7054

你平時是怎麼讀取檔案的?使用流讀取。是的沒錯,c#給我們提供了非常強大的類庫(又一次吹捧了.net一番),裡面封裝了幾乎所有我們可以想到的和我們沒有想到的類,流是讀取檔案的一般手段,那麼你真的會用它讀取檔案中的資料了麼?真的能讀完全麼?

通常我們讀取乙個檔案使用如下的步驟:

1、宣告並使用file的openread例項化乙個檔案流物件,就像下面這樣

filestreamfs=file.openread(filename);

或者filestreamfs=filestream(filename,filemode.open,fileaccess.read,fileshare.read);

2、準備乙個存放檔案內容的位元組陣列,fs.length將得到檔案的實際大小,就像下面這樣

bytedata=newbyte[fs.length];

3、哇!開始讀了,呼叫乙個檔案流的乙個方法讀取資料到data陣列中

fs.read(data,0,data.length);

呵呵!我們只寫了3句就可以把檔案裡面的內容原封不動的讀出來,真是太簡潔了!可以這段**真的能像你預期的那樣工作麼?答案是:幾乎可以!在大部分情況下上面的**工作的很好,但是我們應該注意read方法是有返回值的,既然有返回值那麼一定有其道理,如果按照上面的寫法完全可以是乙個沒有返回值的函式。我想返回值的目的是,為了給我們乙個機會判斷實際讀取檔案的大小,從而來判斷檔案是否已經完全讀完。所以上面的**不能保證我們一定讀完了檔案裡面的所有位元組(雖然在很多情況下是讀完了)。下面的方法提供了乙個比上面方法更安全的方法,來保證檔案被完全讀出

publicstaticvoidsaferead(streamstream,bytedata)

objreader.close();

foreach(stringsoutputinarrtext)

console.writeline(soutput);

console.readline();}}

}

如何有效的使用C 讀取檔案

如何有效的使用c 讀取檔案 你平時是怎麼讀取檔案的?使用流讀取。是的沒錯,c 給我們提供了非常強大的類庫 又一次吹捧了.net一番 裡面封裝了幾乎所有我們可以想到的和我們沒有想到的類,流是讀取檔案的一般手段,那麼你真的會用它讀取檔案中的資料了麼?真的能讀完全麼?通常我們讀取乙個檔案使用如下的步驟 1...

如何有效的使用C 讀取檔案

你平時是怎麼讀取檔案的?使用流讀取。是的沒錯,c 給我們提供了非常強大的類庫 又一次吹捧了.net一番 裡面封裝了幾乎所有我們可以想到的和我們沒有想到的類,流是讀取檔案的一般手段,那麼你真的會用它讀取檔案中的資料了麼?真的能讀完全麼?通常我們讀取乙個檔案使用如下的步驟 1 宣告並使用file的ope...

如何有效的使用C 讀取檔案

你平時是怎麼讀取檔案的?使用流讀取。是的沒錯,c 給我們提供了非常強大的類庫 又一次吹捧了.net一番 裡面封裝了幾乎所有我們可以想到的和我們沒有想到的類,流是讀取檔案的一般手段,那麼你真的會用它讀取檔案中的資料了麼?真的能讀完全麼?通常我們讀取乙個檔案使用如下的步驟 1 宣告並使用file的ope...