java.io.File
类包含两个方法,可以使用它们找出文件是目录还是常规文件。它们分别如下 -
isFile()
:如果文件存在并且是常规文件,则此方法返回true
,请注意,如果文件不存在,则返回false
。isDirectory()
:如果路径/文件实际上是一个目录,则此方法返回true
,如果路径不存在,则返回false
。
在检查文件是目录还是常规文件时,我们应该首先检查文件是否存在。如果它存在,那么再判断它是目录还是文件。
参考下面一个简单的java程序,演示它的用法。
import java.io.File;
public class CheckDirectoryOrFile {
public static void main(String[] args) {
File file = new File("D:/maxsu/source.txt");
File dir = new File("D:/maxsu");
File notExists = new File("D:/maxsu/notafile");
System.out.println("D:/maxsu/source.txt is file?"+file.isFile());
System.out.println("D:/maxsu/source.txt is directory?"+file.isDirectory());
System.out.println("D:/maxsu is file?"+dir.isFile());
System.out.println("D:/maxsu is directory?"+dir.isDirectory());
System.out.println("D:/maxsu/notafile is file?"+notExists.isFile());
System.out.println("D:/maxsu/notafile is directory?"+notExists.isDirectory());
}
}
执行上面示例代码,得到以下结果 -
D:/maxsu/source.txt is file?true
D:/maxsu/source.txt is directory?false
D:/maxsu/ is file?false
D:/maxsu/ is directory?true
D:/maxsu/notafile is file?false
D:/maxsu/notafile is directory?false