C#流概述


C#流概述

.NET Framework使用“流”來支持讀取或寫入文件。可以將流視為一組連續的一維數據,包含開頭和結尾,並且其中的游標指示了流的當前位置。

1、流操作

流中包含的數據可能來自內存、文件或TCP/IP套接字。流包含以下幾種可以用於自身的基本操作:

l  讀取:將數據從流傳輸到數據結構(字符串或字節數據)中。

l  寫入:將數據從數據源傳輸到流中。

l  查找:查詢和修改在流中的位置。

2、流的類型

在.NET Framework中,“流”由Stream類表示,該類構成了所有其他流的抽象基類,不能直接實例化。但是必須使用它來實現某個I/O流類。

C#中由許多類型的流(14種派生類),但是在處理文件輸入/輸出時,最重要的類型為FileStream類,它提供了讀取或寫入文件的方式。可在處理文件輸入/輸出時使用的其它流主要包括:BufferedStream、CopytoStream、MemoryStream和NetworkStream等。

3、文件I/O流FileStream介紹

C#中,文件I/O流使用FileStream類實現,該類公開以文件為主的Stream,表示在磁盤或網絡路徑上指向文件的流。一個FileStream類的實例實際上表示一個磁盤文件,它通過Seek方法進行對文件的隨機訪問,也同時包含了流的標准輸入、標准輸出和標准錯誤等。FileStream默認對文件的打開方式是同步的,但是它同樣很好地支持異步操作。

4、使用I/O流操作文本文件

使用I/O流操作文本文件時主要用到StreamWriter和StreamReader類。

l  StreamWriter類:專門用來處理文本文件的類,可以方便地向文本文件寫入字符串,同時它也負責重要的轉換和處理向FileStream對象寫入的工作。

l  StreamReader類:專門用來讀取文本文件的類。StreamReader可以從底層Stream對象創建StreamReader對象的實例,而且還能指定編碼規范參數。創建StreamReader對象后,它提供了許多用於讀取和瀏覽字符數據的方法。

5、使用I/O流操作二進制文件

使用I/O流操作二進制文件時主要用到BinaryWriter和BinaryReader類。

l  BinaryWriter類:以二進制形式將基元類型寫入流,並支持用特定的編碼方式寫入字符串。

l  BinaryReader類:使用特定的編碼將基元數據類型讀作二進制值。

文件、流讀取/寫入器和流之間的操作關系圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM