




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)流操作本講大綱:1、流操作類介紹支持網(wǎng)站:2、文件流類3、文本文件的寫入與讀取4、二進制文件的寫入與讀取流操作類介紹1.流操作流中包含的數(shù)據(jù)可能來自內(nèi)存、文件或TCP/IP套接字。流包含以下幾種可應用于自身的基本操作。讀取。將數(shù)據(jù)從流傳輸?shù)綌?shù)據(jù)結(jié)構(gòu)(如字符串或字節(jié)數(shù)組)中。寫入。將數(shù)據(jù)從數(shù)據(jù)源傳輸?shù)搅髦小2檎摇2樵兒托薷脑诹髦械奈恢谩?.流的類型在.NET
Framework中,流由Stream類來表示,該類構(gòu)成了所有其他流的抽象類。不能直接創(chuàng)建Stream類的實例,但是必須使用它實現(xiàn)其中的一個類。文件流類(1)C#中,文件流類使用FileStream類表示,該類公開以文件為主的Stream,它表示在磁盤或網(wǎng)絡(luò)路徑上指向文件的流。一個FileStream類的實例實際上代表一個磁盤文件,它通過Seek方法進行對文件的隨機訪問,也同時包含了流的標準輸入、標準輸出和標準錯誤等。FileStream默認對文件的打開方式是同步的,但它同樣很好地支持異步操作。
說明:FileStream對象支持使用Seek方法對文件進行隨機訪問,Seek方法允許將讀取/寫入位置移動到文件中的任意位置。屬性說明CanRead獲取一個值,該值指示當前流是否支持讀取CanSeek獲取一個值,該值指示當前流是否支持查找CanTimeout獲取一個值,該值確定當前流是否可以超時CanWrite獲取一個值,該值指示當前流是否支持寫入IsAsync獲取一個值,該值指示FileStream是異步還是同步打開的Length獲取用字節(jié)表示的流長度Name獲取傳遞給構(gòu)造函數(shù)的FileStream的名稱Position獲取或設(shè)置此流的當前位置ReadTimeout獲取或設(shè)置一個值,該值確定流在超時前嘗試讀取多長時間WriteTimeout獲取或設(shè)置一個值,該值確定流在超時前嘗試寫入多長時間文件流類(2)例如,下面代碼通過使用FileStream對象打開Test.txt文本文件并對其進行讀寫訪問。
FileStreamaFile=newFileStream("Test.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite)方法說明BeginRead開始異步讀操作BeginWrite開始異步寫操作Close關(guān)閉當前流并釋放與之關(guān)聯(lián)的所有資源EndRead等待掛起的異步讀取完成EndWrite結(jié)束異步寫入,在I/O操作完成之前一直阻止Lock允許讀取訪問的同時防止其他進程更改FileStreamRead從流中讀取字節(jié)塊并將該數(shù)據(jù)寫入給定緩沖區(qū)中ReadByte從文件中讀取一個字節(jié),并將讀取位置提升一個字節(jié)Seek將該流的當前位置設(shè)置為給定值SetLength將該流的長度設(shè)置為給定值Unlock允許其他進程訪問以前鎖定的某個文件的全部或部分Write使用從緩沖區(qū)讀取的數(shù)據(jù)將字節(jié)塊寫入該流文本文件的寫入與讀取(1)1.StreamWriter類StreamWriter是專門用來處理文本文件的類,可以方便地向文本文件中寫入字符串。同時也負責重要的轉(zhuǎn)換和處理向FileStream對象寫入工作。說明:StreamWriter類默認使用UTF8Encoding編碼來進行創(chuàng)建。技巧:StreamWriter類有兩個最重要、最常用的方法,一個是Write方法,另一個是WriteLine方法,這兩個方法都是用來向文本文件中寫入字符串的,但二者也有區(qū)別:WriteLine方法只用于字符串,并且會自動追加一個換行符(回車\換行);而Write方法不追加換行符,而且可以向文本流寫入字符串及任何基本數(shù)據(jù)類型(int32、single等)的文本形式。屬性說明Encoding獲取將輸出寫入到其中的EncodingFormatprovider獲取控制格式設(shè)置的對象NewLine獲取或設(shè)置由當前TextWriter使用的行結(jié)束符字符串方法說明Close關(guān)閉當前的StringWriter和基礎(chǔ)流Write寫入到StringWriter的此實例中WriteLine寫入重載參數(shù)指定的某些數(shù)據(jù),后跟行結(jié)束符文本文件的寫入與讀取(2)2.StreamReader類StreamReader是專門用來讀取文本文件的類,StreamReader可以從底層Stream對象創(chuàng)建StreamReader對象的實例,而且也能指定編碼規(guī)范參數(shù)。創(chuàng)建StreamReader對象后,它提供了許多用于讀取和瀏覽字符數(shù)據(jù)的方法。方法說明Close關(guān)閉StringReaderRead讀取輸入字符串中的下一個字符或下一組字符ReadBlock從當前流中讀取最大count的字符并從index開始將該數(shù)據(jù)寫入BufferReadLine從基礎(chǔ)字符串中讀取一行ReadToEnd將整個流或從流的當前位置到流的結(jié)尾作為字符串讀取二進制文件的寫入與讀取(1)1.BinaryWriter類BinaryWriter類以二進制形式將基元類型寫入流,并支持用特定的編碼寫入字符串。方法說明Close關(guān)閉當前的BinaryWriter和基礎(chǔ)流Seek設(shè)置當前流中的位置Write將值寫入當前流二進制文件的寫入與讀取(2)2.BinaryReader類BinaryReader用特定的編碼將基元數(shù)據(jù)類型讀作二進制值。方法說明Close關(guān)閉當前閱讀器及基礎(chǔ)流PeekChar返回下一個可用的字符,并且不提升字節(jié)或字符的位置Read從基礎(chǔ)流中讀取字符,并提升流的當前位置ReadBoolean從當前流中讀取Boolean值,并使該流的當前位置提升一個字節(jié)ReanByte從當前流中讀取下一個字節(jié),并使流的當前位置提升一個字節(jié)ReadBytes從當前流中將count個字節(jié)讀入字節(jié)數(shù)組,并使當前位置提升count個字節(jié)ReadChar從當前流中讀取下一個字符,并根據(jù)所使用的Encoding和從流中讀取的特定字符,提升流的當前位置ReadChars從當前流中讀取count個字符,以字符數(shù)組的形式返回數(shù)據(jù),并根據(jù)所使用的Encoding
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)計公司前臺管理制度
- 設(shè)計招標文件管理制度
- 診所醫(yī)療感染管理制度
- 診所隱患臺賬管理制度
- 貨場租賃使用管理制度
- 2025年中國工業(yè)大語言模型行業(yè)市場全景分析及前景機遇研判報告
- 貨物抵協(xié)議書范本
- 個人分賬協(xié)議書范本大全
- 懲治老婆協(xié)議書范本
- 員工持干股協(xié)議書范本
- 經(jīng)空氣傳播疾病醫(yī)院感染預防與控制規(guī)范課件
- 冠心病合并糖尿病血脂管理
- GB/T 43492-2023預制保溫球墨鑄鐵管、管件和附件
- PDCA循環(huán)在我院靜脈用藥調(diào)配中心用藥錯誤管理中的應用靜配中心質(zhì)量持續(xù)改進案例
- 精神病患者攻擊行為預防
- 《議程設(shè)置理論》課件
- 二單元稅率利率復習課
- GB/Z 43281-2023即時檢驗(POCT)設(shè)備監(jiān)督員和操作員指南
- 農(nóng)藥經(jīng)營56學時培訓模擬試題
- 衣柜全屋定制家具施工方案
- 廣州市近5年中考語文作文真題及模擬題匯編(含參考例文)
評論
0/150
提交評論