我正在使用File.copy来复制一些文件。 问题是,它将文件复制为异步,因此它会在复制某些文件的同时继续执行程序。
现在我得到了使用filestream而不是file.copy的提示。
我现在使用的代码是:(示例)
string instdir = (@"C:\test.dll");
string srcdir = @"C:\test1.dll";
File.Copy(srcdir, instdir, true);
问题是,从xml文件读取“test.dll”值(因此要复制的文件要多得多) 在复制之后,它应该执行.exe文件,但它会在复制所有内容之前执行该文件并且发出错误。
任何提示?
我还有下一个问题:
我得到了上面的解决方案,这是一个单独的文件副本。
现在我也有这个:
public static void CopyFolder(DirectoryInfo source, DirectoryInfo install)
{
foreach (DirectoryInfo dir in source.GetDirectories())
CopyFolder(dir, install.CreateSubdirectory(dir.Name));
foreach (FileInfo file in source.GetFiles())
file.CopyTo(Path.Combine(install.FullName, file.Name), true);
}
用于多文件复制(复制文件夹中的所有内容)
知道如何使用它吗?
谢谢!
答案 0 :(得分:1)
所以你可以打开两个流并复制流:
using(var src = File.OpenRead(@"srcPath"))
using(var dest = File.OpenWrite(@"destPath"))
{
src.CopyTo(dest); //blocks until finished
}