3

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

4

3 回答 3

5

无法知道文件移动或复制是否会保证成功。

但是你可以检查很多东西,看看它是否会失败:

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

更多关于文件锁定:

请在此处查看我的答案,以获取有关linux中文件锁定和权限的更多信息。

请在此处查看我的答案,以获取有关Windows 中文件锁定和权限的更多信息。

于 2009-03-20T00:33:39.227 回答
0

一般情况下,查看文件是否存在,当前用户是否有读取文件的权限(或删除文件进行移动),是否对目标目录有相应的权限。同样,对于复制,您应该检查是否有可用的磁盘空间。当然,在此之前,请确保原始文件和目标目录甚至存在。

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

于 2009-03-20T00:34:35.993 回答
-1

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

于 2009-03-20T00:49:20.967 回答