2012-04-09 59 views
0

我正在写一个简单的文件夹同步应用程序。避免复制文件时发生错误,另一个进程写入文件

因此,我想在当时在源文件夹中创建一个文件,它应该是 复制到目的地。

我的问题是:如何避免错误,当试图读取源文件,因为另一个进程可能要写入它?我应该以读写分享模式读取文件,还是足够简单的System.IO.File.Copy?

谢谢!

+0

你想阻止作家吗?还是你想让他们?如果是后者,你想看看他们的变化吗? – 2012-04-09 14:29:42

+0

我想让作家。我不介意复制过程是否失败,但写入过程不应该失败。 – alexandertr 2012-04-10 05:40:43

回答

0

文件复制将在文件被复制时锁定文件。
如果不是锁定,该文件可能被复制在另一个过程中损坏
所以,当你开始复制过程,有两种可能性:

  • 没有对源文件的锁,然后File.Copy开始工作 并锁定源文件。
  • 有人对你的源文件有锁定,那么File.Copy会抛出一个 异常。
相关问题