是否可以复制另一个进程同时正在使用的文件?
我问是因为当我尝试使用以下代码复制文件时会引发异常:
System.IO.File.Copy(s, destFile, true);
引发的异常是:
该进程无法访问文件“D:\temp\1000000045.zip”,因为该文件正在被另一个进程使用。
我不想创建新文件,我只想复制它或删除它。这可能吗?
一个例子(注意:我刚刚合并了两个谷歌结果,你可能需要修复小错误;))
重要的部分是FileShare.ReadWrite
打开文件流时。
我使用类似的代码打开并读取 Excel 文档,同时 Excel 仍处于打开状态并阻止文件。
using (var inputFile = new FileStream(
"oldFile.txt",
FileMode.Open,
FileAccess.Read,
FileShare.ReadWrite))
{
using (var outputFile = new FileStream("newFile.txt", FileMode.Create))
{
var buffer = new byte[0x10000];
int bytes;
while ((bytes = inputFile.Read(buffer, 0, buffer.Length)) > 0)
{
outputFile.Write(buffer, 0, bytes);
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)