AIX上的java.nio.file.Files.exists()行为

AIX上的java.nio.file.Files.exists()行为,java,nio,aix,Java,Nio,Aix,我有一个下载方法,在将文件交付给用户之前测试文件是否存在 if( Files.exists(path) ) { ... } 所有文件的测试都失败了,我已经检查了服务器上的文件权限,它们设置为755。如果我将它们更改为775,测试将按预期工作,并且我能够下载文件。 也许我用错了exists()方法,但我希望它最多能测试读取权限。这是该方法的行为方式还是一个bug 编辑#1 执行应用程序服务器的用户与生成文件的用户不同,但它们都属于同一组 以下测试在其中一个文件的父目录上按预期运行: if( Fi

我有一个下载方法,在将文件交付给用户之前测试文件是否存在

if( Files.exists(path) ) {
...
}
所有文件的测试都失败了,我已经检查了服务器上的文件权限,它们设置为
755
。如果我将它们更改为
775
,测试将按预期工作,并且我能够下载文件。 也许我用错了
exists()
方法,但我希望它最多能测试读取权限。这是该方法的行为方式还是一个bug

编辑#1

执行应用程序服务器的用户与生成文件的用户不同,但它们都属于同一组

以下测试在其中一个文件的父目录上按预期运行:

if( Files.isreadable(parentDirectory) ) {

...

}

我已经仔细检查了此文件夹、子文件夹和文件的权限,它们都设置为
755

如果使用
文件,会发生什么情况。isReadable(path)
?@RealAn疑论者,尚未尝试这些文件,但我正在对具有相同权限的父目录执行该测试,并且工作正常。我知道如何解决这个问题,我只是好奇奇怪的行为。好吧,如果它适用于父目录,你应该提供更多的细节,比如不工作的文件所在目录的权限,与父目录的权限。此外,请检查目录是否是装载点或同一文件系统的一部分。此外,如果更改为775,然后再次更改为755(在同一文件上),它是否工作?下载是什么意思?可能您的“path”变量包含指向远程计算机的URL?如果改用
文件。isReadable(path)
会发生什么情况?@realpoint,尚未尝试对这些文件进行测试,但我正在对具有相同权限的父目录进行测试,测试结果与预期一致。我知道如何解决这个问题,我只是好奇奇怪的行为。好吧,如果它适用于父目录,你应该提供更多的细节,比如不工作的文件所在目录的权限,与父目录的权限。此外,请检查目录是否是装载点或同一文件系统的一部分。此外,如果更改为775,然后再次更改为755(在同一文件上),它是否工作?下载是什么意思?也许您的“path”变量包含指向远程计算机的URL?