Java 7 - 如何检查操作系统是否符合POSIX标准

时间:2014-02-04 01:41:14

标签: java posix java-7 nio nio2

我正在编写一个跨平台的应用程序,它创建临时文件并将这些文件复制到另一个位置,每个人都需要这些文件。 (默认情况下,只有所有者对临时文件具有读访问权。)我尝试使用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

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

1 个答案:

答案 0 :(得分:33)

深入挖掘JDK代码,这是用于POSIX的检查

来自java.nio.file.TempFileHelper

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

您可以使用此检查。