例項41檔案流讀寫

2021-10-05 05:38:19 字數 2316 閱讀 5976

命名空間:system.io

程式集:mscorlib.dll

為檔案提供 stream,既支援同步讀寫操作,也支援非同步讀寫操作。

使用 filestream 類可對檔案系統中的檔案進行讀取、寫入、開啟和關閉,還可以操作其他與檔案相關的作業系統控制代碼,包括管道、標準輸入和標準輸出。 您可以使用 read、write、copyto和 flush 方法來執行同步操作,或使用 readasync、writeasync、copytoasync和 flushasync 方法執行非同步操作。 使用非同步方法來執行占用大量資源的檔案操作,而不會阻止主線程。 在 windows 8.x 應用商店 應用或 桌面 應用中乙個耗時的流操作可能阻塞 ui 執行緒並讓您的應用看起來好像不工作時,這種效能的考慮就顯得尤為重要了。 filestream 緩衝輸入和輸出以提高效能。

重要此型別實現 idisposable 介面。 在使用完型別後,您應直接或間接釋放型別。 若要直接釋放型別,請在 disposetry/ 塊中呼叫其catch方法。 若要間接釋放型別,請使用using(在 c# 中)或using(在 visual basic 中)等語言構造。 有關詳細資訊,請參閱 idisposable 介面主題中的「使用實現 idisposable 的物件」一節。

isasync 屬性檢測檔案控制代碼是否已非同步開啟。 使用具有isasyncuseasyncoptions引數的建構函式建立 filestream 類的例項時,可以指定此值。 如果true屬性,則流將使用重疊的 i/o 以非同步方式執行檔案操作。 不過,不必trueisasync 屬性來呼叫 readasync、writeasync或 copytoasync 方法。 當falseisasync 屬性並且呼叫非同步讀寫操作時,ui 執行緒仍不會被阻止,但實際的 i/o 操作將以同步方式執行。

seek 方法支援對檔案進行隨機訪問。 seek 允許將讀/寫位置移動到檔案中的任何位置。 這是通過位元組偏移量引用點引數實現的。 位元組偏移量是相對於查詢引用點的,它可以是基礎檔案的開頭、當前位置或末尾,由 seekorigin 列舉的三個成員表示。

使用這個類時,需要先定義乙個該類的例項,即乙個物件,並通過使用這個物件的屬性和方法對檔案進行讀寫操作。檔案流物件定義形式如下:

dim  物件  as filestream

物件=newfilestream (path, mode, access, share, buffersize, isasync)

filestream為的建構函式可被多次過載,在建立新的檔案流物件時,可以只給出前面幾個引數。

create,建立檔案,可町覆蓋;

crcatenew,建立新檔案;

open,開啟檔案:

定義檔案流物件以後,可以通過read方法實現檔案內容的讀取,通過write方法實現檔案內容的改寫。read和write方法都有三個引數,第乙個引數為乙個陣列,表示從檔案讀出的資料或向檔案寫入的陣列;第二個引數表示讀或寫的起始位置;第三個引數表示本操作應該處理幾個資料。

檔案關閉使用close方法。

module module1

sub main()

teststream()

console.read()

end sub

private sub teststream()

dim datawrite(10) as byte

dim dataread(10) as byte

dim i as integer

for i = 0 to 10

datawrite(i) = i * 3

next

dim testfs as io.filestream

testfs = new io.filestream("j:\test\stream.txt", io.filemode.openorcreate, io.fileaccess.write)

testfs.write(datawrite, 0, 11)

testfs.close()

testfs = new io.filestream("j:\test\stream.txt", io.filemode.open, io.fileaccess.read)

testfs.read(dataread, 0, 11)

testfs.close()

for i = 0 to 10

console.writeline(dataread(i))

next

end sub

end module

16,檔案讀寫,關閉流,with as ,

做一點小改動,因為我們目前先不考慮字符集 open file,mode r buffering 1,encoding none,errors none,newline none,closefd true,opener none 開啟檔案 file open e 94 python練習 aa.txt ...

4 1 檔案管理大綱

問題 乙個檔案有哪些屬性 識別符號 型別 指明檔案的型別 位置 檔案的存放路徑 大小 檔案的大小 保護資訊 對檔案進行保護的檔案控制資訊 檔名 同一目錄下不允許有重名的檔案 檔案內部的資料是怎麼被組織起來的 即檔案的邏輯結構 分為兩種 一種是無結構檔案 又稱為文字檔案 又稱為流式檔案 一種是有結構檔...

2019 10 15檔案的讀寫

開啟檔案的讀寫操作需要包含.為了讀而開啟檔案需要建立乙個ifstream物件,為了寫而開啟檔案,要建立乙個ofstream物件。檔案開啟了就可以像處理其他iostream物件一樣進行讀寫。將乙個檔案的內容拷貝到另乙個檔案 include include includeusing namespace ...