c# – 如何在其他进程使用该文件时复制文件 - 代码日志

c# – 如何在其他进程使用该文件时复制文件

是否可以同时复制正在被其他进程使用的文件。

因为当我试图通过这个代码复制它显示错误。

 System.IO.File.Copy(s, destFile, true);

生成的异常是

The process cannot access the file ‘D:\temp\1000000045.zip’ because it is being used by another process.

我不想创建一个新的文件,我只想复制它或删除它可能。

一个例子(注意:我刚刚结合了两个google的结果,你可能需要修复较小的错误))

FileShare.ReadWrite打开FileStream的重要部分。

我使用类似的代码打开和读取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);
            }
        }
    }
http://stackoverflow.com/questions/6167136/how-to-copy-a-file-while-it-is-being-used-by-other-process

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 如何在其他进程使用该文件时复制文件