除了尝试操作和捕获异常外,还有一种方法可以确定是否可以移动或复制文件吗?
无法确定文件移动或复制是否会成功.
但你可以检查一些事情,看它是否会失败:
检查目标位置的磁盘空间(至少需要文件大小)
检查目标位置已存在的文件
打开文件,请求对源文件进行读取访问,以确保1)您拥有该文件的权限,2)它未被使用.
您可以读取整个源文件以确保文件中没有锁.
复制文件(或跨卷移动)时,Windows资源管理器使用的技巧是首先创建一个空白文件,然后将文件扩展到完整大小.只有在文件完全分配后,才会开始写入文件.
分配要复制的数据大小的文件也会告诉您是否存在已到达的文件系统引用.
如果文件正在使用中,并且您想要走这么远,则可以使用卷影复制(VSS).
更多关于文件锁定:
有关linux中文件锁定和权限的更多信息,请在此处查看我的答案.
有关Windows中文件锁定和权限的更多信息,请在此处查看我的答案.