我在我的java程序(在linux上运行)中创建了一个文件夹,其中包含File对象的mkdirs()函数.问题是该文件夹仅获取该组的读取权限.我需要它还具有写权限(以便以后能够删除它的文件).这样做的方法是什么?
一个非常简单的解决方案是:
file.setExecutable(true, false); file.setReadable(true, false); file.setWritable(true, false);
在上面的代码中,file是一个File对象.
在创建文件集时,对文件的这些权限setExecutable(true)
将允许您将该文件设置Executable
为仅限所有者.如果您添加一个我在上面添加的参数代码file.setExecutable(true, false);
将Executable
false
只为所有者创建,这意味着它将设置所有组/世界的权限.
测试并使用Debian和Windows XP.
Java nio可以帮助处理posix文件属性:https: //docs.oracle.com/javase/8/docs/api/java/nio/file/attribute/PosixFileAttributeView.html
Path path = ... Setperms = EnumSet.of(OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ, GROUP_WRITE); Files.createFile(path, PosixFilePermissions.asFileAttribute(perms));