public class 设置文件属性 {
// 执行以下代码你将看到一个属性为隐藏的文件(D:\ddd.ddd)
// 请到D盘下查看
public static void main(String[] args) throws IOException {
// 创建新文件
File file = new File("D:\\ddd.ddd");

// 删除文件并创建新文件
file.delete();
file.createNewFile();

// 拼dos命令
// attrib的祥细功能介绍请在DOS内输入 " attrib /? " 查看
String sets = "attrib +H \"" + file.getAbsolutePath() + "\"";
// 输出命令串
System.out.println(sets);
// 运行命令串
Runtime.getRuntime().exec(sets);
}
}



1. 当Java.io中,如果文件的操作的时候,判断是否隐藏用File.ishiden()判断是否只读,可用File.canWrite().


2. 当要设置是否是可读或者是隐藏时,在java中除了提供File.setReadOnly()外,就无其他方法了。所以我们必须到Dos环境下去设置,在java中用Runtime.getRuntime().exec("attrib " + """ + file.getAbsolutePath() + """+ " +R")该方法可以实现。因为路径file.getAbsolutePath()中可能会还有空格,所以必须用引号把它括起来,当作一个参数。这样就可以实现了


(1) 设置只读Runtime.getRuntime().exec("attrib " + """ + file.getAbsolutePath() + """+ " +R");



(2) 设置可写Runtime.getRuntime().exec("attrib " + """ + file.getAbsolutePath() + """+ " -R");



(3) 设置隐藏Runtime.getRuntime().exec("attrib " + """ + file.getAbsolutePath() + """+ " +H");



(4) 设置非隐藏Runtime.getRuntime().exec("attrib " + """ + file.getAbsolutePath() + """+ " -H");