本篇来学习File类的判断功能,主要的判断有:判断是否是目录,判断是否是文件,判断是否存在,判断是否可读,判断是否可写,判断是否隐藏。前面我们知道了判断是否存在这个方法,下面我们一次学习其他方法。
1.判断是否是文件和判断是否是文件夹
我在Eclipse项目根目录分别创建了aaa的一个文件夹,abc.txt文件。执行下面代码,运行输出两个都是true.
package file;
import java.io.File;
public class Demo1_File {
public static void main(String[] args) {
File file = new File("abc.txt");
File dir = new File("aaa");
// 判断是否是文件
System.out.println(file.isFile());
//判断是否是文件夹
System.out.println(dir.isDirectory());
}
}
2.判断是否可读
这里需要注意,即使java设置了文件不可读,但是由于windows上文件都认为可读,这个方法测试最好在linux系统上,这里记住这个情况就可以。
package file;
import java.io.File;
public class Demo1_File {
public static void main(String[] args) {
File file = new File("abc.txt");
// 判断是否是文件
file.setReadable(false);
System.out.println(file.canRead());
}
}
3.判断是否可写
在windows中是可以设置为不可写的文件状态,这个不会出现上面不可读的情况。
package file;
import java.io.File;
public class Demo1_File {
public static void main(String[] args) {
File file = new File("abc.txt");
// 设置为不可写
file.setWritable(false);
System.out.println(file.canWrite());
}
}
运行,输出false。
4.判断文件和文件夹是否隐藏
package file;
import java.io.File;
public class Demo1_File {
public static void main(String[] args) {
File file = new File("abc.txt");
File dir = new File("aaa");
// 判断是否为隐藏
System.out.println(file.isHidden());
System.out.println(dir.isHidden());
}
}
这里运行为true,如果你要测试文件隐藏的状态,你可以去Eclipse项目的系统文件夹结构,找到abc.txt文件,右键,勾选隐藏,然后再次运行代码,就显示true。