如何检查OS是否符合POSIX



我正在编写一个跨平台应用程序,该应用程序可以创建临时文件并将其复制到另一个位置,在那里每个人都需要阅读。(默认情况下,只有所有者才读取对临时文件的访问。)我尝试使用POSIX文件权限如下:

FileAttribute<Set<PosixFilePermission>> attrs =
  PosixFilePermissions.asFileAttribute(PosixFilePermissions.fromString("rw-r--r--"));
Path temp = Files.createTempFile(null, ".tmp", attrs);

,但这导致非posix平台的例外:

java.lang.UnsupportedOperationException: 'posix:permissions' not supported as initial attribute

我想添加一个简单的检查,以便在必要时可以使用文件权限,而无需与其他平台兼容。

在JDK代码中更深入地挖掘,这是用于POSIX

的检查

来自 java.nio.file.TempFileHelper

private static final boolean isPosix =
    FileSystems.getDefault().supportedFileAttributeViews().contains("posix");

您可以使用此支票。

最新更新