C#复制文件到指定文件夹
2024-10-11
40
C# 复制文件到指定文件夹
可以使用C#的File类中的Copy方法来复制文件到指定文件夹。下面是一个示例代码片段,展示如何将名为sourceFile的文件复制到名为destinationFolder的目标文件夹:
string sourceFile = @"C:\SourceFolder\file.txt";
string destinationFolder = @"C:\DestinationFolder";
// 如果目标文件夹不存在,则创建目标文件夹
if (!Directory.Exists(destinationFolder))
{
Directory.CreateDirectory(destinationFolder);
}
// 获取源文件的文件名并将其添加到目标文件夹路径中
string fileName = Path.GetFileName(sourceFile);
string destFile = Path.Combine(destinationFolder, fileName);
// 复制源文件到目标文件夹
File.Copy(sourceFile, destFile, true);
c#复制文件夹的所有文件到指定文件夹
可以使用C#的Directory类中的Copy方法来复制文件夹。下面是一个示例代码片段,展示如何用递归的方式把名为sourceFolder的文件夹的所有文件和子文件夹及文件复制到名为destinationFolder的目标文件夹:
string sourceFolder = @"C:\SourceFolder";
string destinationFolder = @"C:\DestinationFolder";
// 如果目标文件夹不存在,则创建目标文件夹
if (!Directory.Exists(destinationFolder))
{
Directory.CreateDirectory(destinationFolder);
}
// 复制源文件夹和其所有内容到目标文件夹
DirectoryCopy(sourceFolder, destinationFolder, true);
// 递归复制文件夹和其所有内容
public static void DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
{
DirectoryInfo dir = new DirectoryInfo(sourceDirName);
DirectoryInfo[] dirs = dir.GetDirectories();
// 如果源文件夹不存在,则引发异常
if (!dir.Exists)
{
throw new DirectoryNotFoundException("Source directory does not exist or could not be found: " + sourceDirName);
}
// 如果目标文件夹不存在,则创建目标文件夹
if (!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
}
// 获取源文件夹中的所有文件并复制它们到目标文件夹
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
string tempPath = Path.Combine(destDirName, file.Name);
file.CopyTo(tempPath, true);
}
// 如果需要复制子文件夹,则递归复制它们
if (copySubDirs)
{
foreach (DirectoryInfo subdir in dirs)
{
string tempPath = Path.Combine(destDirName, subdir.Name);
DirectoryCopy(subdir.FullName, tempPath, copySubDirs);
}
}
}
在上面的示例中,DirectoryCopy方法是递归函数,它会复制源文件夹和其所有内容到目标文件夹。 DirectoryCopy方法还使用copySubDirs参数来指定是否要复制子文件夹。
更新于:1个月前赞一波!2
相关文章
- .NET C# EntityFramework(EF)连接SQLite代码示例
- .NET9 C# 13 有哪些新特性?
- C#中的String和StringBuilder的区别
- .NET C#中的IEnumerable和IEnumerator的区别
- C# Const 和 ReadOnly的区别
- C# 使用Barrier进行多线程同步
- C#发送邮件代码简洁示例(附源码下载)
- C# Word转换成Pdf的方法
- c#使用MongoDB开发LBS应用
- hprose for C#使用教程
- c#实现与Java无差异的GZip压缩和GZip解压缩
- .NET Core c#使用SkiaSharp压缩裁切图片去除水印
- c# decimal保留2位小数 并向下舍入
- .NET Core c#使用SkiaSharp压缩图片
- c#获取枚举的Description
- c#读取pdf里的表格
- c# HttpClient下载图片
- c#使用HtmlAgilityPack编辑html并保存
- c#获取文件夹所有文件列表
- c# int数值转enum枚举
文章评论
评论问答