我一直在努力寻找如何在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
参数,并在创建目录后编辑属性。
谢谢
答案 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.");
}
祝你有美好的一天!