路徑 檔案 目錄 I O常見操作

2021-06-16 05:07:15 字數 2239 閱讀 6130

public static bool isfilesequal(string filename1, string filename2)}}

問題5:如何獲取指定目錄的基本資訊;

解決方案:可以使用directoryinfo類的相關屬性和方法:

directoryinfo.exists:獲取指定目錄是否存在;

directoryinfo.name:獲取目錄的名稱;

directoryinfo.fullname:獲取目錄的全限定名稱(完整路徑);

directoryinfo.attributes:獲取或設定指定目錄的屬性,返回型別為fileattributes列舉,可以是多個值的組合;  

directoryinfo.creationtime、fileinfo.lastaccesstime、fileinfo.lastwritetime:分別用於獲取目錄的建立時間、訪問時間、修改時間;

directoryinfo.parent:獲取目錄的上級目錄,返回型別為directoryinfo;

directoryinfo.root:獲取目錄的根目錄,返回型別為directoryinfo;

問題6:如何獲取指定目錄包含的檔案和子目錄;

解決方案:

directoryinfo.getfiles():獲取目錄中(不包含子目錄)的檔案,返回型別為fileinfo,支援萬用字元查詢;

directoryinfo.getdirectories():獲取目錄(不包含子目錄)的子目錄,

返回型別為directoryinfo,支援萬用字元查詢;

directoryinfo. getfilesysteminfos():獲取指定目錄下(不包含子目錄)的檔案和子目錄,

返回型別為filesysteminfo,支援萬用字元查詢;

問題7:如何獲得指定目錄的大小;

解決方案:

檢查目錄內的所有檔案,利用fileinfo.length屬性獲取每個檔案的大小,然後進行合計,然後使用遞迴演算法處理所有的子目錄的檔案,參考下面**:

///

/// 計算乙個目錄的大小

///

/// 指定目錄

/// 是否包含子目錄

///

private long calculatedirsize(directoryinfo di, bool includesubdir)

// 檢查所有子目錄,如果includesubdir引數為true

if (includesubdir)

}return totalsize;

}問題8:如何使用萬用字元搜尋指定目錄內的所有檔案;

解決方案:

使用directoryinfo.getfiles方法的過載版本,它可以接受乙個過濾表示式,返回fileinfo陣列,另外它的引數還可以指定是否對子目錄進行查詢。如:

dir.getfiles("*.txt", searchoption.alldirectories);

問題9:如何複製、移動、重新命名、刪除檔案和目錄;

解決方案:使用fileinfo和directoryinfo類。

下面是fileinfo類的相關方法:

fileinfo.copyto:將現有檔案複製到新檔案,其過載版本還允許覆蓋已存在檔案;

fileinfo.moveto:將指定檔案移到新位置,並提供指定新檔名的選項,所以可以用來重新命名檔案(而不改變位置);    fileinfo.delete:永久刪除檔案,如果檔案不存在,則不執行任何操作;

fileinfo.replace:使用當前fileinfo物件對應檔案的內容替換目標檔案,而且指定另乙個檔名作為被替換檔案的備份,微軟考慮實在周到。

下面是directoryinfo類的相關方法:

directoryinfo.create:建立指定目錄,如果指定路徑中有多級目錄不存在,該方法會一一建立;

directoryinfo.createsubdirectory:建立當前物件對應的目錄的子目錄;

directoryinfo.moveto:將目錄(及其包含的內容)移動至乙個新的目錄,也可用來重新命名目錄;

directoryinfo.delete:刪除目錄(如果它存在的話)。如果要刪除乙個包含子目錄的目錄,要使用它的過載版本,以指定遞迴刪除。

注意到了沒有?directoryinfo類少了乙個copyto方法,不過我們可以通過遞迴來實現這個功能:

///

/// 複製目錄到目標目錄

///

/// 源目錄

/// 目標目錄

出處:leonardleonard

常見檔案 目錄 路徑操作函式

bool winapi deletefile in lpctstr lpfilename 刪除乙個檔案 int shfileoperation lpshfileopstruct lpfileop 刪除很多檔案 bool winapi removedirectory in lpctstr lppath...

Linux系統IO目錄檔案操作

linux目錄檔案 維護著乙個鍊錶的資料結構,目錄檔案的結構和單向鍊錶的節點的類似,可利用鍊錶的遍歷方法來實現目錄檔案遍歷.但是直接使用目錄流物件不會得到乙個鍊錶的節點 因為是流物件 需要配合readdir指令來移動流的當前位置指標,並獲得相應的鍊錶節點 目錄下的檔案的資訊 include incl...

VC檔案目錄常見操作

1.判斷乙個目錄是否存在 include windows.h 引數 strpath 目錄的完整路徑,注意不要以 結尾 返回值 如果為目錄,返回真,否則返回假 bool folderexist cstring strpath findclose hfind return rvalue 2.判斷檔案或目...