在Java中的Windows上创建不具有只读属性的目录

时间:2018-08-09 12:28:34

标签: java windows directory nio file-permissions

我一直在努力寻找如何在Windows上使用:p来创建没有只读属性的目录的方法。

Files.createDirectory(path, attrs);

attrs 属性对我来说还不清楚,我可以找到的唯一示例是使用POSIX标准的示例:

Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxr-x---");
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(perms);
Files.createDirectory(file, attr);

我想知道是否有一种方法可以为Windows系统创建 FileAttribute ,以取消设置 ReadOnly 属性。

现在,我将只创建目录而无需注意 attrs 参数,并在创建目录后编辑属性。

谢谢

1 个答案:

答案 0 :(得分:0)

因此,据我所知,这是Windows问题,而不是Java问题。您可能正在努力寻找答案。 在Windows中创建文件时,请遵循操作系统的默认权限集在Linux中笑。如果您想使用其他权限创建它,请先设置操作系统默认权限,然后将其应用于您的文件。

我希望我知道一种更简洁的方法。不幸的是我没有,对不起。 Source

编辑:嘿,您每天都学到新东西,Oracle添加了setWritable。这可以解决您的问题!

File file = new File("DemoFile");
if(file.setWritable(false)) {
System.out.println("Successful");
}
else {
System.out.println("Well thats unfortunate, guess I was wrong");
}

if(file.setWritable(true)) {
System.out.println("Re-enabled writing");
}
else {
System.out.println("Failed to re-enable writing on file.");
}

祝你有美好的一天!