在判断是文件还是目录是的一个小陷阱:
人们往往认为有后缀名的就一定是文件,其实不然,请看以下程序
程序一:
class One{
public static void main(String[] args)throws IOException{//此程序只为处为说说明问题所以直接跑了异常
File f = new File("abc.txt");
//判断文件在硬盘上是否存在不出在就创建该文件,若存在就不创建
if(!f.exists()){
f.createNewFile();//此处是创建文件
}
if(f.isDirectory()){
sop("f is isDirectory is " + f.isDirectory());
}else {
if(f.isFile())
sop("f is file is " + f.isFile());
}
}
}
结果为:f is file is true
程序二:
class Tow{
public static void main(String[] args)throws IOException{//此程序只为处为说说明问题所以直接抛了异常
File f = new File("abc.txt");
//判断文件在硬盘上是否存在不出在就创建该文件,若存在就不创建
if(!f.exists()){
f.mkdir();//此处是创建目录(文件夹)
}
if(f.isDirectory()){
sop("f is isDirectory is " + f.isDirectory());
}else {
if(f.isFile())
sop("f is file is " + f.isFile());
}
}
结果为:f is isDirectory is true
所一通过这两个程序可一发现,原来文件夹也是可以有”后缀“的,当然这个后缀是为后缀。所以判断一个文件对象到底是文件夹还是文件,不应该从表面来判断,而应该看其实怎样创建出来的。 |
|