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。
(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
publicfilestatic
void writeallbytes(
string file,
byte data,
)
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 要建立的檔案路...