C# 使用文件流而不是 file.copy
C# using filestream instead of file.copy
我正在使用 File.copy 复制一些文件。
问题是,它复制文件异步所以它继续程序,同时仍然复制一些文件。
现在我得到了使用文件流而不是 file.copy 的提示。
我现在使用的代码是:(例子)
string instdir = (@"C:\test.dll");
string srcdir = @"C:\test1.dll";
File.Copy(srcdir, instdir, true);
问题在于,"test.dll" 值是从 xml 文件中读取的(因此要复制的文件更多)
复制后它应该执行一个 .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);
}
用于多文件复制(复制文件夹中的所有内容)
知道如何在其中使用它吗?
谢谢!
因此您可以打开两个流并复制流:
using(var src = File.OpenRead(@"srcPath"))
using(var dest = File.OpenWrite(@"destPath"))
{
src.CopyTo(dest); //blocks until finished
}
我正在使用 File.copy 复制一些文件。 问题是,它复制文件异步所以它继续程序,同时仍然复制一些文件。
现在我得到了使用文件流而不是 file.copy 的提示。
我现在使用的代码是:(例子)
string instdir = (@"C:\test.dll");
string srcdir = @"C:\test1.dll";
File.Copy(srcdir, instdir, true);
问题在于,"test.dll" 值是从 xml 文件中读取的(因此要复制的文件更多) 复制后它应该执行一个 .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);
}
用于多文件复制(复制文件夹中的所有内容)
知道如何在其中使用它吗?
谢谢!
因此您可以打开两个流并复制流:
using(var src = File.OpenRead(@"srcPath"))
using(var dest = File.OpenWrite(@"destPath"))
{
src.CopyTo(dest); //blocks until finished
}