首页 > 解决方案 > File.exists() 为 Samba 共享网络文件夹中的现有文件返回“false”

问题描述

我确定该文件存在于 Samba 共享中。但要file.exists()回来'false'。另一个系统将此文件放在 Samba 共享文件夹中,并通知我们的应用程序该文件已上传。比我们调用file.exists()检查这个并得到'false'

Path sourceFile = ... 
sourceFile.toFile().exists() 
//return 'false' for existing file with path like \\share1\mc\logs.txt

也许文件尚未完全写入或尚未完全关闭,会影响结果file.exists()吗?

标签: javasamba

解决方案


好吧,至少您观察到的行为包含在文档中

如果文件不存在或无法确定其存在,则为 false

(强调补充)。

可能与这里的这个问题有关:Why does 'File.exists' return true, even if 'Files.exists' in the NIO 'Files' class return false,尽管答案对我来说似乎有点不确定。


推荐阅读