常用類庫 IO操作

2022-09-10 14:27:29 字數 2673 閱讀 7782

io操作

c#將檔案視為乙個位元組序列,以流的方式對檔案進行操作。流是位元組序列的抽象概念。

檔案和流之間既有區別又有聯絡。

檔案是在各種驅動器上(可移動磁碟、硬碟、cd 等)永久或臨時儲存的資料的有序集合,是進行資料讀寫操作的基本物件。檔案通常具有檔名、所在路徑、建立時間、訪問許可權等基本屬性。

流非常類似於單獨的磁碟檔案,同時也是進行資料讀取操作的物件。流提供了連續的位元組儲存空間,通過流可以向後備儲存器寫入資料,也可以從後備儲存器中讀取資料。雖然資料實際的儲存位置可以不連續,甚至可以分布在多個磁碟上,但是使用者看到的是封裝後的資料結構,是連續的位元組流。

與io操作相關的列舉

filemode,表示檔案的開啟方式,列舉取值包括:

取值說明

以追加方式開啟檔案,如果檔案存在則在尾部追加,否則建立乙個新檔案

create

建立並開啟乙個新檔案,如果檔案已經存在則覆蓋舊檔案

createnew

建立並開啟乙個新檔案,如果檔案已經存在則發生異常

open

開啟現有檔案,如果檔案不存在則發生異常

openorcreate

開啟或建立乙個檔案,如果檔案已經存在則開啟它,否則建立並開啟乙個新檔案

truncate

開啟現有檔案,並清空檔案內容

seekorigin,表示以什麼為基準來計算檔案流中的偏移量,列舉取值包括:

取值說明

begin

從檔案流的起始位置計

current

從檔案流的當前位置計

end從檔案流的結束位置計

fileaccess,表示對檔案的訪問許可權,列舉取值包括:

取值說明

read

對檔案擁有讀許可權

write

對檔案擁有寫許可權

readwrite

對檔案同時擁有讀寫許可權

fileshare,表示檔案的共享方式,列舉取值包括:

取值說明

none

禁止任何形式的共享

read

讀共享,開啟檔案後允許其他程序對檔案進行讀操作

readwrite

讀寫共享,開啟檔案後允許其他程序對檔案進行寫操作

write

寫共享,開啟檔案後允許其他程序對檔案進行寫操作

fileattributes,表示檔案的型別,列舉取值包括:

取值說明

取值說明

archive

存檔檔案

compressed

壓縮檔案

device

裝置檔案

directory

目錄encrypted

加密檔案

hidden

隱藏檔案

normal

普通檔案

notcontentindexed

無索引檔案

offline

離線檔案

readonly

唯讀檔案

reparsepoint

重分析檔案

sparsefile

稀疏檔案

system

系統檔案

temporary

臨時檔案

drivetype,表示驅動器型別,列舉取值包括:

取值說明

取值說明

cdrom

cd-rom驅動器

fixed

固定磁碟驅動器

network

網路驅動器

norootdirectory

不含根目錄的驅動器

ramram快閃儲存器驅動器

removable

可移動儲存裝置

unknown

驅動器裝置型別未知

driveinfo類

用於對驅動器進行操作

directoryinfo類

用來描述乙個資料夾物件。

directory類

用於操作目錄類(靜態類)。

fileinfo類

用來描述乙個檔案物件。

file類

用於操作檔案(靜態類)。

path類

對檔案或目錄的路徑進行操作的類。

stream類

流是以序列的方式對資料進行操作,因此支援長度和當前位置的概念。stream支援同步和非同步地資料讀寫。在同步操作中,乙個流物件只有乙個當前位置,不同的程式或程序都在當前位置進行讀寫;而在非同步操作中,不同的程式或程序可以在不同位置上進行讀寫,當然這需要檔案的共享支援。

filestream

檔案流,對檔案進行讀寫操作

檔案流filestream支援同步和非同步檔案讀寫,它還可以使用輸入輸出快取以提高效能。

使用完filestream物件後,一定不要忘記使用close方法來關閉檔案流,否則不僅會使別的程式不能訪問該檔案,還可能導致檔案損壞。

開啟檔案,同時對該檔案建立了讀寫器,則在關閉時,先關閉streamwriter才能關閉streamreader,最後才能關閉檔案 

streamreader

對文字檔案的讀取

streamwriter

用於對文字檔案的寫入操作

什麼是文字檔案?

直接用字串格式儲存。即,使用記事本開啟檔案時,不會出現亂碼。

gzipstream

壓縮流

IO詳解 常用io類

inputstream與reader 前者是位元組輸入流,讀取檔案內容,檔案需要先轉換成byte,才能讀取得到,如果是中文,可能會出現亂碼 後者是字元輸入流,可以讀取字串,特別是有中文的時候,可以使用此類,不會出現亂碼。outputstream 與writer 前者是位元組輸出流,資料儲存到文字中,...

IO 常用IO操作類繼承結構 及簡單簡介

io字元流 reader 源 bufferedreader linenumberreader inputstreamreader filereader 位元組流通向字元流的橋梁 stringreader writer 目的 bufferedwriter outputstreamwriter file...

C 常用IO操作

建立資料夾 如果資料夾路徑不存在則建立資料夾 if directory.exists path directory.createdirectory path 遞迴建立資料夾 public void createdir string fullpath view code 刪除整個資料夾 directo...