确定是否可以移动或复制文件

时间:2009-03-20 00:30:38

标签: .net file copy move

除了尝试操作并捕获异常外,还有一种方法可以确定是否可以移动或复制文件吗?

3 个答案:

答案 0 :(得分:5)

无法确定文件移动或复制是否成功。

但你可以检查一些事情,看它是否会失败:

  • 检查目标位置的磁盘空间(至少需要文件大小)
  • 检查目标位置已存在的文件
  • 打开一个文件,请求对源文件进行读取访问以确保1)您拥有该文件的权限,2)它未被使用。
  • 您可以阅读整个源文件以确保文件中没有锁。
  • Windows资源管理器在复制文件(或跨卷移动)时使用的技巧是首先创建一个空白文件,然后将文件扩展到完整大小。只有在文件完全分配后,才会开始写入文件。
  • 分配要复制的数据大小的文件也会告诉您是否存在已到达的文件系统引用。
  • 如果文件正在使用中,并且您想要走这么远,则可以使用卷影复制(VSS)。

有关文件锁定的更多内容:

请在此处查看我的回答,了解有关file locking & permissions in linux的更多信息。

请在此处查看我的回答,了解有关file locking & permissions in Windows的更多信息。

答案 1 :(得分:0)

通常,查看文件是否存在以及当前用户是否有权读取文件(或删除要移动的文件)并具有目标目录的相应权限。同样,对于复制,您应该检查是否有可用的磁盘空间。当然,在此之前,请确保原始文件和目标目录存在。

当然,这并不保证操作会成功。很多事情都可能发生。甚至文件的权限也可以在您检查的时间和执行操作的时间之间发生变化。

答案 2 :(得分:-1)

如果可以读取文件,则可以移动或复制该文件。您是否在询问如何检查移动或复制是否成功?

相关问题