在我的程序中,我想创建一些临时目录,即Temp1和Temp2。
我目前正在使用Mac,我选择创建这些目录的地方为
/ Users / your_account_username / Library / Application Support
此目录具有以下文件权限
> drwx------+ 27 ib-mac-1 staff 918 May 7 19:01 Application Support
当我创建Temp1时,我使用Java File API设置读取,写入和执行权限。
file.setExecutable(true);
file.setReadable(true);
file.setWritable(true);
不知何故,这不能帮助我将rwx应用于目录,其下创建的目录/文件只采用drwxr-xr-x
答案 0 :(得分:2)
File.setExecutable(boolean)
,File.setReadable(boolean)
和File.setWritable(boolean)
仅设置所有者权限。
作为schmop
says,有一些变体可以表明您希望为每个人设置权限(file.setReadable(true, false)
等)。
但是,如果您想要精确控制POSIX文件权限(例如,设置不同的其他权限和组权限),最简单的解决方案是使用Java 7. Java 7添加了Path
接口和{{1 }和Paths
类作为Files
的替代。它提供了方法Files.setPosixFilePermissions
,它可以精确地为您提供所需的文件权限。
答案 1 :(得分:2)
使用
file.setExecutable(true, false);
file.setReadable(true, false);
file.setWritable(true, false);
为所有用户设置。 提供Java 6(至少)。