Java:unmark文件是只读的

时间:2010-05-20 19:27:50

标签: java windows

我可以在Java上这样做吗?我正在使用Windows ......

4 个答案:

答案 0 :(得分:9)

http://java.sun.com/j2se/1.6.0/docs/api/java/io/File.html#setReadOnly%28%29

File file = new File("foo.bar");
if(file.setReadOnly()) {
    System.out.println("Successful");
}
else {
    System.out.println("All aboard the fail train.");
}

在Java6之前,您无法撤消此操作。为了解决这个问题,他们放入File.setWritable(boolean),可以这样使用

File file = new File("foo.bar");
if(file.setWritable(false)) {
    System.out.println("Successful");
}
else {
    System.out.println("All aboard the fail train.");
}

if(file.setWritable(true)) {
    System.out.println("Re-enabled writing");
}
else {
    System.out.println("Failed to re-enable writing on file.");
}

答案 1 :(得分:2)

答案 2 :(得分:2)

final File f = new File(...);
f.setWritable(true);

将提交更改为可写(非只读)。

注意:这可能不会一直有效,因为底层的FileSystem可能会拒绝请求。但它适用于硬盘上的大多数文件。

答案 3 :(得分:1)