黑马程序员技术交流社区
标题:
关于判断文件对象的问题
[打印本页]
作者:
唐巍
时间:
2012-3-26 02:35
标题:
关于判断文件对象的问题
在下面代码中:
import java.io.*;
class FileDemo2
{
public static void main(String[] args)throws IOException
{
method();
}
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void method()throws IOException
{
File f1=new File("file.txt");
sop("dir:"+f1.isDirectory());//打印结果:false
sop("file:"+f1.isFile());//打印结果:false 为什么判断的结果都为false?
sop(f1.isAbsolute());
File f2=new File("d:\\java01\\day20\\file.txt");
sop(f2.isAbsolute());
}
}
作者:
刘元霄
时间:
2012-3-26 02:48
f1.isDirectory());//打印结果:false
判断这个路径民表示的文件或目录是否存在, 不存在就返回false了。
isFile()
判断此抽象路径名表示的文件是否是一个标准文件。
不是也就返回false了 。
他们的返回值类型都是boolean 所以不存在 都是false 明白了吗?
作者:
贠(yun)靖
时间:
2012-3-26 03:32
因为File 是把file。txt 这个文件名封装成对象的 如果你该目录下存在这个文件 则把这个文件封装成对象 如果不存在 就相当于把一个不存在的文件 或者说你想创建的文件
但是还没有创建到硬盘上的这个文件的名字封装成对象 所以你判断它的路径和这个文件都是返回false的
因为你file。txt这个文件压根就不存在的
所以说在判断文件路径和文件 前腰线判断它是否存在 exists() 先判断了
作者:
申振华
时间:
2012-3-26 06:00
File f1=new File("file.txt"); //这个操作只是创建了File对象,并封装了file.txt文件,并没有在硬盘上实体创建文件
所以你使用一系列的判断方法都返回flse;
再执行以下判断方法时,首先掉用exists()判断文件是否存在,如果不存在则需要调用createNewFile()创建实体文件
boolean isDirectory(); //判断是否为目录
boolean isFile(); //判断是否为文件
boolean isAbsolute(); //是否为绝对目录
boolean canExecute(); //是否为可执行文件
boolean isHidden(); //隐藏文件
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2