当前位置:  开发笔记 > 编程语言 > 正文

创建具有该组写入权限的目录

如何解决《创建具有该组写入权限的目录》经验,为你挑选了2个好方法。

我在我的java程序(在linux上运行)中创建了一个文件夹,其中包含File对象的mkdirs()函数.问题是该文件夹仅获取该组的读取权限.我需要它还具有写权限(以便以后能够删除它的文件).这样做的方法是什么?



1> 小智..:

一个非常简单的解决方案是:

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,因为此解决方案仅为所有者或所有人设置权限.

2> Sylvain..:

Java nio可以帮助处理posix文件属性:https: //docs.oracle.com/javase/8/docs/api/java/nio/file/attribute/PosixFileAttributeView.html

Path path = ...
 Set perms =
     EnumSet.of(OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ, GROUP_WRITE);
 Files.createFile(path, PosixFilePermissions.asFileAttribute(perms));


PosixFilePermission仅适用于Portable操作系统.PosixFilePermission不适用于Windows系统
推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有