java - 更改已创建文件的权限,以便只有当前用户可以读取它

标签 java file-permissions

我需要为操作系统的特定用户设置读取文件的权限,我如何在 Java 中执行此操作?

编辑: 该文件将仅对运行应用程序的用户具有权限,而不是需要为单个用户设置读取权限,其他用户将没有读取该文件的权限。

最佳答案

使用 java.io.File 中的 setExecutable、setReadable 和 setWritable 方法。您可以使用这些来更改您拥有的文件的任何权限位。直接链接:http://download.oracle.com/javase/6/docs/api/java/io/File.html#setReadable%28boolean%29 . 在 MacOSX 上进行测试表明只有用户读取的值发生了变化。当程序

import java.io.File;

public class Test
{
    public static void main(String[] args)
    {
        File f = new File("test.txt");
        f.setReadable(true);
    }
}

发生以下情况。

$ touch test.txt
$ chmod 000 test.txt


$ javac Test.java
$ java Test
$ ls -l test.txt
-r--------  1 morrison  staff  0 Jun  7 13:28 test.txt

关于java - 更改已创建文件的权限,以便只有当前用户可以读取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6268947/

相关文章:

java - valueOf 抛出 NumberFormatException

java - Mockito 的列表问题

Python 应用程序权限被拒绝

bash - 我的 bash 脚本如何确保生成的文件具有组读取权限?

java - 导入 android_view_TextureView 未找到

java - 使用 XML 配置覆盖 @Autowired 属性注解

java - 使用 Mockito 测试抽象类不会给出预期结果

php - Sendmail 管道到 PHP : Could not open input file

linux - 有权读写和删除文件夹中的文件,但不能读写和删除文件夹本身

php - 函数.fopen : failed to open stream: Permission denied in PHP