C 初學者教程系列20 Stream流讀寫

2021-10-11 18:32:41 字數 1817 閱讀 2845

本文環境為visual studio 2019。

在c#檔案操作中,通常使用流來讀取和寫入檔案。流是在應用程式和檔案之間建立的層。流stream用於確保對檔案的流暢讀寫操作。

從大檔案讀取資料時通常使用流。通過使用流,大型檔案中的資料被分解成小塊,然後傳送到流中,然後可以從應用程式中讀取這些資料塊。

將其分解成小塊的原因是因為一次讀取大檔案會對效能產生影響。如果一次性讀取乙個100 mb的檔案中的資料,則應用程式可能會掛起並變得不穩定。最好的方法是使用流將檔案分解為可管理的塊。

因此,當對檔案執行寫操作時,首先將要寫入的資料寫入流中。然後,從流中將資料寫入檔案。讀取操作也是如此。在讀取操作中,資料首先從檔案傳輸到流。然後通過流從應用程式讀取資料。

streamreader用於從檔案讀取資料。來自檔案的資料首先被讀入流中。之後,應用程式從流中讀取資料。

對於我們的示例,我們假定d盤有乙個名為「買菜清單.txt」的檔案。該檔案將是乙個簡單的文字檔案,並具有兩行,如下所示

下面我們將建立乙個簡單的控制台應用程式並使用檔案流streamreader,說明如何使用流從檔案中讀取資料。

在program.cs檔案中輸入以下**:

**說明:首先,我們宣告乙個流讀取器物件。streamreader物件在c#中用於定義從檔案到應用程式的流。每當從檔案中讀取資料時,資料就會從檔案中推送到流中。file.opentext用於以唯讀模式開啟檔案「 買菜清單.txt」。然後將檔案的處理程式傳送到流讀取器物件。

接下來,我們定義乙個臨時變數「s」,該變數將用於讀取檔案中的所有資料。

然後,我們使用流讀取器方法readline從流緩衝區讀取每一行。當我們執行此操作時,每行將首先從檔案傳輸到緩衝區。然後,字串行將從緩衝區傳輸到變數「s」。然後,我們將字串「s」的內容寫入控制台。

如果您編寫上面的**,並使用visual studio 2019執行該專案時,您將獲得以下輸出:

streamwriter用於將資料寫入檔案。來自應用程式的資料首先被寫入流中,之後,流將資料寫入檔案。

讓我們看乙個例子,說明如何使用流從檔案寫入資料。在program.cs檔案中輸入以下**。

}**說明:我們使用流寫入方法writeline將「金針菇-3.6元/1.6斤」寫入檔案。

然後,我們在寫入檔案後關閉流寫入器。通常,當不再需要出於編寫目的而使用檔案時,關閉檔案處理程式是乙個好習慣。這裡提下,凡是帶有close()的說明它一般都是非託管資源,如果您不主動釋放,那麼該物件的記憶體就還在,如果乙個物件是這樣子,隨著你越來越多次的呼叫,並且都不釋放,記憶體就會公升高。這就叫「記憶體洩漏」。

最後,我們再次讀取檔案的內容並將其寫入控制台日誌。這是檢查行是否已寫入檔案。

如果您編寫上面的**,並使用visual studio 2019執行該專案時,您將獲得以下輸出:

祝您用餐愉快。

git初學者教程

最近把程式設計學習的 託管在github上,我作為乙個git的業餘使用者,現在把關於git的知識整理一下。1 首先找乙個 託管 像github,註冊乙個使用者名稱yourname。2 在github上新建乙個空的專案,寫好名稱,比如clang。4 設定好本地的ssh金鑰 5 選乙個本地的專案存放位置...

Sprite Kit教程 初學者 1

注 本文譯自sprite kit tutorial for beginners ios 7中附帶了乙個非常棒的sprite kit示例工程,名字叫做adventure。不過這個示例工程稍微有點複雜,不太適合初學者。本文的目的就是做乙個關於sprite kit使用的初級教程。通過本文,你可以從頭到尾的...

C 初學者教程系列10 訪問修飾符

本文環境為visual studio 2019。一 為什麼使用訪問修飾符 訪問修飾符或訪問說明符用於定義類屬性或方法的可見性。有時候,您可能不希望其它程式檢視類的屬性或方法。在這種情況下,c 可以在類屬性和方法上設定修飾符。類修飾符可以限制訪問,以便其它程式看不到類的屬性或方法。訪問修飾符主要有以下...