C#File.Exists在部分复制的文件上

时间:2012-09-12 15:08:07

标签: c# .net

让我们说例如我有一个20GB的文件,我决定将它复制到“c:/folder/filename.ext”。显然这需要一些时间才能完成。

如果在复制过程中执行了以下内容,将会返回什么内容?

File.Exists("c:/folder/filename.ext");

2 个答案:

答案 0 :(得分:2)

  

如果在复制过程中执行了以下内容,将会返回什么内容?

假设您运行代码的进程有足够的权限来读取文件,它将返回True(如果帐户不是File.Exists,请不要忘记False返回File.Exists即使文件存在,也有足够的权限来读取文件。 public class Program { static void Main() { Task.Factory.StartNew(() => { using (var stream = File.OpenWrite("test.dat")) { Thread.Sleep(100); } }); Thread.Sleep(10); // prints True Console.WriteLine(File.Exists("test.dat")); } } 方法不关心当前是否正在写入或读取文件:

{{1}}

答案 1 :(得分:0)

我不太确定,但如果有任何文件(完整或部分复制),我认为它会返回true。

如果您需要复制过程的状态,则应检查长度,或使用散列(SHA1)。