使文件在Java中只读似乎失败了吗?

时间:2019-04-01 14:52:57

标签: java linux

这似乎是一个愚蠢的问题,但是我调用了使文件只读的方法,即使它说成功了,但是当我检查文件时,它不是只读的。

这是我的代码:

boolean result = path.toFile().setReadOnly();
System.out.println("Result: " + result); // will print true
System.out.println("Write: "  + path.toFile().canWrite()); // will print true

我正在ubuntu中尝试此操作,不知道为什么会这样。

2 个答案:

答案 0 :(得分:0)

这是因为您将path.toFile()创建的对象设置为只读,而不是path本身创建的对象。然后在第三行中,您再次调用path.toFile(),这将创建一个新对象,该对象没有像您那样设置readOnly标志。

答案 1 :(得分:-2)

问题与创建临时文件的父目录有关。我只是愚蠢。很抱歉这个愚蠢的问题。