C 中File檔案操作方法

2021-09-29 03:23:26 字數 3513 閱讀 8520

file類,是乙個靜態類,主要是來提供一些函式庫用的。靜態實用類,提供了很多靜態的方法,支援對檔案的基本操作,包括建立,拷貝,移動,刪除和開啟乙個檔案。file類方法的參量很多時候都是路徑path。file的一些方法可以返回filestream和streamwriter的物件。可以和他們配套使用。

system.io.file類和system.io.fileinfo類主要提供有關檔案的各種操作,在使用時需要引用system.io命名空間。下面通過程式例項來介紹其主要屬性和方法。

(1) 檔案開啟方法:file.open ()

該方法的宣告如下:

public

static

filestream

open

(string path,

filemode mode)

下面的**開啟存放在c:\tempuploads目錄下名稱為newfile.txt檔案,並在該檔案中寫入hello

private

void

openfile()

; textfile.

write

(info,

0,info.length)

; textfile.

close()

;}

(2) 檔案建立方法:file.create()

該方法的宣告如下:

public

static filestream create

(string path)

下面的**演示如何在c:\tempuploads下建立名為newfile.txt的檔案。

由於file.create方法預設向所有使用者授予對新檔案的完全讀/寫訪問許可權,所以檔案是用讀/寫訪問許可權開啟的,必須關閉後才能由其他應用程式開啟。為此,所以需要使用filestream類的close方法將所建立的檔案關閉。

private

void

makefile()

(3) 檔案刪除方法:file.delete()

該方法宣告如下:

public

static

void

delete

(string path)

;

下面的**演示如何刪除c:\tempuploads目錄下的newfile.txt檔案。

private

void

deletefile()

(4) 檔案複製方法:file.copy

該方法宣告如下:

public

static

void

copy

(string sourcefilename,

string destfilename,

bool overwrite)

;

下面的**將c:\tempuploads\newfile.txt複製到c:\tempuploads\backup.txt。

由於cope方法的overwrite引數設為true,所以如果backup.txt檔案已存在的話,將會被複製過去的檔案所覆蓋。

private

void

copyfile()

(5) 檔案移動方法:file.move

該方法宣告如下:

public

static

void

move

(string sourcefilename,

string destfilename)

;

下面的**可以將c:\tempuploads下的backup.txt檔案移動到c盤根目錄下。

注意:只能在同乙個邏輯盤下進行檔案轉移。如果試圖將c盤下的檔案轉移到d盤,將發生錯誤。

private

void

movefile()

(6) 設定檔案屬性方法:file.setattributes

該方法宣告如下:

public

static

void

setattributes

(string path,

fileattributes fileattributes)

;

下面的**可以設定檔案c:\tempuploads\newfile.txt的屬性為唯讀、隱藏。

private

void

setfile()

檔案除了常用的唯讀和隱藏屬性外,還有archive(檔案存檔狀態),system(系統檔案),temporary(臨時檔案)等。關於檔案屬性的詳細情況請參看msdn中fileattributes的描述。

(7) 判斷檔案是否存在的方法:file.exist

該方法宣告如下:

public

static

bool

exists

(string path)

;

下面的**判斷是否存在c:\tempuploads\newfile.txt檔案。若存在,先複製該檔案,然後其刪除,最後將複製的檔案移動;若不存在,則先建立該檔案,然後開啟該檔案並進行寫入操作,最後將檔案屬性設為唯讀、隱藏。

if

(file.

exists

(@"c:\tempuploads\newfile.txt"))

//判斷檔案是否存在

else

此外,file類對於text文字提供了更多的支援。

streamreader txtreader =

newstreamreader

(@"c:\tempuploads\newfile.txt"

,system.text.encoding.default)

;string filecontent;

filecontent = txtreader.

readend()

;txtreader.

close()

;

· 對txt檔案進行「寫」操作,示例**如下

streamwriter =

newstreamwrite

(@"c:\tempuploads\newfile.txt"

,system.text.encoding.default)

;string filecontent;

txtwriter.

write

(filecontent)

;txtwriter.

close()

;

檔案操作方法

1 讀系列 2 寫系列 需要注意的是 1 一次性讀完以後,游標停留在了檔案末尾,無法再次讀取內容 2 該方法在讀取大檔案的時候,可能會造成記憶體溢位的情況。解決上述問題的策略就是逐行讀取檔案內容。以後涉及到多行檔案內容的情況一般都採用for迴圈讀取。1 t 文字模式 文字模式是檔案操作的預設模式 r...

檔案操作方法

目錄 f.read讀取所有檔案的時候,如果是小檔案還好,如果是資料特別大得到檔案,就問造成記憶體溢位從而導致電腦宕機 t 文字模式 1.預設的模式 r w a rt wt at 2.該模式所有操作都是以字串基本單位 文字 3.該模式必須要指定encoding引數 4.該模式只能操作文字檔案 b 二進...

檔案操作方法總結

import os 檢視操作型別,nt表示windows,posix表示unix print os.name 可以執行系統命令 清空螢幕 os.system cls 啟動計算器 os.system calc 環境變數 所有環境變數 env os.environ for key in env prin...