編寫乙個檔案目錄常用操作的類

2021-06-16 03:52:46 字數 4284 閱讀 6928

using system;

using system.io;

using system.xml;

namespace zhzuo

///

/// filedirectoryutility 類,方法不包含異常處理

///

public class filedirectoryutility

///

/// 路徑分割符

///

private const string path_split_char = "//";

///

/// 建構函式

///

private filedirectoryutility()

///

/// 複製指定目錄的所有檔案,不包含子目錄及子目錄中的檔案

///

/// 原始目錄

/// 目標目錄

/// 如果為true,表示覆蓋同名檔案,否則不覆蓋

public static void copyfiles(string sourcedir,string targetdir,bool overwrite)

copyfiles(sourcedir,targetdir,overwrite,false);

///

/// 複製指定目錄的所有檔案

///

/// 原始目錄

/// 目標目錄

/// 如果為true,覆蓋同名檔案,否則不覆蓋

/// 如果為true,包含目錄,否則不包含

public static void copyfiles(string sourcedir,string targetdir,bool overwrite,bool copysubdir)          

//複製當前目錄檔案

foreach(string sourcefilename in directory.getfiles(sourcedir))

string targetfilename = path.combine(targetdir,sourcefilename.substring(sourcefilename.lastindexof(path_split_char)+ 1));

if(file.exists(targetfilename))

if(overwrite == true)

file.setattributes(targetfilename,fileattributes.normal);

file.copy(sourcefilename,targetfilename,overwrite);

else

file.copy(sourcefilename,targetfilename,overwrite);

//複製子目錄

if(copysubdir)

foreach(string sourcesubdir in directory.getdirectories(sourcedir))

string targetsubdir = path.combine(targetdir,sourcesubdir.substring(sourcesubdir.lastindexof(path_split_char) +1));

if(!directory.exists(targetsubdir))

directory.createdirectory(targetsubdir);

copyfiles(sourcesubdir,targetsubdir,overwrite,true);

///

/// 剪下指定目錄的所有檔案,不包含子目錄

///

/// 原始目錄

/// 目標目錄

/// 如果為true,覆蓋同名檔案,否則不覆蓋

public static void movefiles(string sourcedir,string targetdir,bool overwrite)

movefiles(sourcedir,targetdir,overwrite,false);

///

/// 剪下指定目錄的所有檔案

///

/// 原始目錄

/// 目標目錄

/// 如果為true,覆蓋同名檔案,否則不覆蓋

/// 如果為true,包含目錄,否則不包含

public static void movefiles(string sourcedir,string targetdir,bool overwrite,bool movesubdir)

//移動當前目錄檔案

foreach(string sourcefilename in directory.getfiles(sourcedir))

string targetfilename = path.combine(targetdir ,sourcefilename.substring(sourcefilename.lastindexof(path_split_char) + 1));

if(file.exists(targetfilename))

if(overwrite == true)

file.setattributes(targetfilename,fileattributes.normal);

file.delete(targetfilename);

file.move(sourcefilename,targetfilename);

else

file.move(sourcefilename,targetfilename);

if(movesubdir)

foreach(string sourcesubdir in directory.getdirectories(sourcedir))

string targetsubdir = path.combine(targetdir ,sourcesubdir.substring(sourcesubdir.lastindexof(path_split_char) + 1));

if(!directory.exists(targetsubdir))

directory.createdirectory(targetsubdir);

movefiles(sourcesubdir,targetsubdir,overwrite,true);

directory.delete(sourcesubdir);

///

/// 刪除指定目錄的所有檔案,不包含子目錄

///

/// 操作目錄

public static void deletefiles(string targetdir)

deletefiles(targetdir,false);

}///

/// 刪除指定目錄的所有檔案和子目錄

///

/// 操作目錄

/// 如果為true,包含對子目錄的操作

public static void deletefiles(string targetdir,bool delsubdir)             

if(delsubdir)}}

///

/// 建立指定目錄

///

///

public static void createdirectory(string targetdir) 

///

/// 建立子目錄

///

/// 目錄路徑

/// 子目錄名稱

public static void createdirectory(string parentdir,string subdirname) 

///

/// 刪除指定目錄

///

/// 目錄路徑

public static void deletedirectory(string targetdir)

}///

/// 刪除指定目錄的所有子目錄,不包括對當前目錄檔案的刪除

///

/// 目錄路徑

public static void deletesubdirectory(string targetdir)

}///

/// 將指定目錄下的子目錄和檔案生成xml文件

///

/// 根目錄

/// 返回xmldocument物件

/// 子目錄

/// 父目錄xmldocument

/// xmldocument物件

編寫乙個檔案目錄常用操作的類

編寫乙個檔案目錄常用操作的類 鄭佐2005 3 8 今天對自己以前寫的一些常用的元件整理了一下,發現對檔案目錄的操作的乙個類還用的比較多,於是對他進行了修改,一些方法是為在社群中看到有提問增加的,包括複製目錄的檔案和子目錄,移動目錄檔案和子目錄,生成 xml樹形檔案等。using system us...

編寫乙個檔案目錄常用操作的類

今天對自己以前寫的一些常用的元件整理了一下,發現對檔案目錄的操作的乙個類還用的比較多,於是對他進行了修改,一些方法是為在社群中看到有提問增加的,包括複製目錄的檔案和子目錄,移動目錄檔案和子目錄,生成xml樹形檔案等。using system using system.io using system....

編寫乙個檔案目錄常用操作的類

今天對自己以前寫的一些常用的元件整理了一下,發現對檔案目錄的操作的乙個類還用的比較多,於是對他進行了修改,一些方法是為在社群中看到有提問增加的,包括複製目錄的檔案和子目錄,移動目錄檔案和子目錄,生成xml樹形檔案等。using system using system.io using system....