A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 凝聚 中级黑马   /  2013-10-28 09:20  /  1528 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 凝聚 于 2013-10-28 15:25 编辑

File ff=new File("D:\\java\\workspace\\heima\\Filee.txt");
                ff.createNewFile();
sop("dir:"+ff.isDirectory());
这段代码他显示dir:false怎样才是ture呢?
还有:isDirectory()与isFile()的区别是什么啊,最好举个例子。

评分

参与人数 1技术分 +1 收起 理由
To + 1 很给力!

查看全部评分

4 个回复

倒序浏览
File dir = new File("D:\\java\\workspace\\heima");
File file = new File("D:\\java\\workspace\\heima\\Filee.txt");
               
System.out.println("dir:"+dir.isDirectory()+"   "+dir.isFile());
System.out.println("file:"+file.isDirectory()+"   "+file.isFile());

哥们你看下上面这段代码就知道了。
目录和文件在java中都是用File这个类来表示的。

评分

参与人数 1技术分 +1 收起 理由
To + 1 很给力!

查看全部评分

回复 使用道具 举报
对于第一个问题,因为指定路径下的文件,是一个标准文件,而不是目录,所以打印false


对于第二个问题:
   楼主是不是很奇怪,为什么File是目录与文件的抽象表示形式,为什么还要判断isFile(),而且通过目录判断时,返回flase
   其实这个不用奇怪,只是这么命名而已,这里的isFile表示狭义的文件,isDirectory()表示的目录

   先看看isFile(),isDirectory()的文档,
   isFile(): 测试此抽象路径名表示的文件是否是一个标准文件。
   isDirectory:  测试此抽象路径名表示的文件是否是一个目录。
   其实查看isFile()与isDirectory就可以很快发现,判断方法几乎完全相同,只是最后的一句话引用的变量不同而已,
   我们来想一想,在创建文件的时候有两个方法,creatNewFile(),与makedir(),其实当创建的时候,就把文件和目录分开了
   都把他们加上了各自的标志位,isFile()与isDirectory在判断的时候,也只有在标志位判断上有区别。

评分

参与人数 1技术分 +1 收起 理由
To + 1 赞一个!

查看全部评分

回复 使用道具 举报
如果问题已经解决,请及时修改主题至“提问结束”
回复 使用道具 举报
linjl_ll 发表于 2013-10-28 10:24
File dir = new File("D:\\java\\workspace\\heima");
File file = new File("D:\\java\\workspace\\heima\ ...

大神很给力:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马