2010-05-20 37 views

Trả lời

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."); 
} 

Trước khi Java6, bạn không thể hoàn tác này. Để làm được việc này, họ đưa vào File.setWritable(boolean) mà có thể được sử dụng như vậy

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."); 
} 
2
final File f = new File(...); 
f.setWritable(true); 

sẽ thay đổi premissions để có thể ghi (không chỉ đọc).

Lưu ý: điều này có thể không hoạt động mọi lúc, vì Hệ thống tệp cơ bản có thể từ chối yêu cầu. Nhưng nó hoạt động trên hầu hết các tập tin trên ổ đĩa cứng của bạn.

+0

Bạn không có nghĩa là 'f.setWritable (false);' để làm cho nó chỉ đọc? – corsiKa

+0

@Glowcoder: Có thể tôi đã giải thích sai "tệp unmark là chỉ đọc". Tôi nghĩ rằng nó có nghĩa là để làm cho nó * không * "chỉ đọc", đó là ghi, đó là 'đúng', phải không? – Pindatjuh

+0

Ồ, bạn có thể ở ngay đó. Có lẽ tôi là người hiểu sai câu hỏi. – corsiKa

Các vấn đề liên quan