有人可以解释一下,为什么 Ubuntu 13.04 和 java 1.7(OpenJDK 64 位)上的以下代码片段没有为其他人设置写入权限。所有其他权限都设置正确,除了为他人写作,我认为这是可疑的。
public void testCreateFileWithPermissions() throws IOException {
Path target = Paths.get(TEST_FILE);
cadf.createFileWithPermissions(target, "rwxrwxrwx");
Set<PosixFilePermission> perms = Files.getPosixFilePermissions(target);
for (PosixFilePermission perm : perms) {
System.out.println(perm.toString());
}
}
public void createFileWithPermissions(Path target, String permissions)
throws IOException {
Set<PosixFilePermission> perms = PosixFilePermissions
.fromString(permissions);
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions
.asFileAttribute(perms);
Files.createFile(target, attr);
}
我得到以下输出:
OWNER_WRITE
OTHERS_EXECUTE
GROUP_READ
OWNER_READ
GROUP_EXECUTE
GROUP_WRITE
OWNER_EXECUTE
OTHERS_READ