C File類的操作

2021-07-30 08:23:59 字數 3558 閱讀 7700

file類,是乙個靜態類,主要是來提供一些函式庫用的。靜態實用類,提供了很多靜態的方法,支援對檔案的基本操作,包括建立,拷貝,移動,刪除和開啟乙個檔案。file類方法的參量很多時候都是路徑pathfile的一些方法可以返回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。

(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文字提供了更多的支援。

但上述方法主要對utf-8的編碼文字進行操作,從而顯得不夠靈活。在這裡推薦讀者使用下面的**對txt檔案進行操作。

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

streamreader txtreader = new streamreader(@"c:\tempuploads\newfile.txt",system.text.encoding.default);

string filecontent;

filecontent = txtreader.readend();

txtreader.close();

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

streamwriter = new streamwrite(@"c:\tempuploads\newfile.txt",system.text.encoding.default);

string filecontent;

txtwriter.write(filecontent);

txtwriter.close(); 

file.readallbytes

public

static

byte readallbytes(

string path

)

引數

path

type: 

system.string

要開啟以進行讀取的檔案。

返回值 type: 

system.byte

包含檔案內容的位元組陣列。

filesystem.writeallbytes 

public

static

void writeallbytes(

string file,

byte data,

)

file

type: 

system.string

路徑和要寫入到的檔案的名稱。

data

type: 

system.byte

要寫入到檔案資料。

type: 

system.boolean

true要追加到該檔案的內容;false覆蓋該檔案的內容。

預設值為false

CFile 類 操作詳解

各種關於檔案的操作在程式設計中是十分常見,如果能對其各種操作都瞭如指掌,就可以根據實際情況找到最佳的解決方案,從而在較短的時間內編寫出高效的 因而熟練的掌握檔案操作是十分重要的。本文將對visual c 中有關檔案操作進行全面的介紹,並對在檔案操作中經常遇到的一些疑難問題進行詳細的分析。1 檔案的查...

C File類 檔案操作

c 語言中 file 類同樣可以完成與 fileinfo 類相似的功能,但 file 類中也提供了一些不同的方法。file 類中獲取或設定檔案資訊的常用方法如下表所示。屬性或方法 作用datetime getcreationtime string path 返回指定檔案或目錄的建立日期和時間 dat...

C file類常用檔案的操作

file類,是乙個靜態類,主要是來提供一些函式庫用的。靜態實用類,提供了很多靜態的方法,支援對檔案的基本操作,包括建立,拷貝,移動,刪除和 開啟乙個檔案。1 建立檔案方法 file.create c users administrator desktop 測試1 測試.txt 引數1 要建立的檔案路...