c# 文件操作(移动,复制,重命名)
文件移动
publicstaticvoidMoveFolder(stringsourcePath,stringdestPath)
{
if(Directory.Exists(sourcePath))
{
if(!Directory.Exists(destPath))
{
//目标目录不存在则创建
try
{
Directory.CreateDirectory(destPath);
}
catch(Exceptionex)
{
thrownewException("创建目标目录失败:"+ex.Message);
}
}
//获得源文件下所有文件
Listfiles=newList(Directory.GetFiles(sourcePath));
files.ForEach(c=>
{
stringdestFile=Path.Combine(newstring[]{destPath,Path.GetFileName(c)});
//覆盖模式
if(File.Exists(destFile))
{
File.Delete(destFile);
}
File.Move(c,destFile);
});
//获得源文件下所有目录文件
Listfolders=newList(Directory.GetDirectories(sourcePath));
folders.ForEach(c=>
{
stringdestDir=Path.Combine(newstring[]{destPath,Path.GetFileName(c)});
//Directory.Move必须要在同一个根目录下移动才有效,不能在不同卷中移动。
//Directory.Move(c,destDir);
//采用递归的方法实现
MoveFolder(c,destDir);
});
}
else
{
文件复制
publicstaticvoidCopyFilefolder(stringsourceFilePath,stringtargetFilePath)
{
//获取源文件夹中的所有非目录文件
string[]files=Directory.GetFiles(sourceFilePath);
stringfileName;
stringdestFile;
//如果目标文件夹不存在,则新建目标文件夹
if(!Directory.Exists(targetFilePath))
{
Directory.CreateDirectory(targetFilePath);
}
//将获取到的文件一个一个拷贝到目标文件夹中
foreach(stringsinfiles)
{
fileName=Path.GetFileName(s);
destFile=Path.Combine(targetFilePath,fileName);
File.Copy(s,destFile,true);
}
//上面一段在MSDN上可以看到源码
//获取并存储源文件夹中的文件夹名
string[]filefolders=Directory.GetFiles(sourceFilePath);
//创建Directoryinfo实例
DirectoryInfodirinfo=newDirectoryInfo(sourceFilePath);
//获取得源文件夹下的所有子文件夹名
DirectoryInfo[]subFileFolder=dirinfo.GetDirectories();
for(intj=0;j
文件重命名
publicExecutionResultFileRename(stringsourceFile,stringdestinationPath,stringdestinationFileName)
{
ExecutionResultresult;
FileInfotempFileInfo;
FileInfotempBakFileInfo;
DirectoryInfotempDirectoryInfo;
result=newExecutionResult();
tempFileInfo=newFileInfo(sourceFile);
tempDirectoryInfo=newDirectoryInfo(destinationPath);
tempBakFileInfo=newFileInfo(destinationPath+"\\"+destinationFileName);
try
{
if(!tempDirectoryInfo.Exists)
tempDirectoryInfo.Create();
if(tempBakFileInfo.Exists)
tempBakFileInfo.Delete();
//movefiletobak
tempFileInfo.MoveTo(destinationPath+"\\"+destinationFileName);
result.Status=true;
result.Message="RenamefileOK";
result.Anything="OK";
}
catch(Exceptionex)
{
result.Status=false;
result.Anything="Mail";
result.Message=ex.Message;
if(mesLog.IsErrorEnabled)
{
mesLog.Error(MethodBase.GetCurrentMethod().Name,"Renamefileerror.Msg:"+ex.Message);
mesLog.Error(ex.StackTrace);
}
}
returnresult;
}
以上就是c#文件操作(移动,复制,重命名)的详细内容,更多关于c#文件操作的资料请关注毛票票其它相关文章!