File类的一个问题

Edwin603 2009-07-23 09:59:53
import java.io.*;
public class Test3 {
public static void main (String [] args) throws Exception{
String str = "E:/Test/IO/Copy.java";//"IO/Copy.java"
File fi = new File(str);

boolean b = fi.isDirectory();
boolean b1 = fi.isFile();

System.out.println(str);
System.out.println(b);
System.out.println(b1);

}
}

这个结果 我能明白
E:/Test/IO/Copy.java
false
true

这个结果就不明白了 请解释下
IO/Copy.java
true
false
...全文
44 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
java91 2009-07-23
  • 打赏
  • 举报
回复
不用苦脑了,你的目录路径不对。

你这种还是属于绝对路径。
String str = "E:/Test/IO/Copy.java";//这样写能找得到。
String str = "IO/Copy.java"//这样写肯定找不到。这样写的最终路径是,classpath+/io/Copy.java


冰思雨 2009-07-23
  • 打赏
  • 举报
回复
第二个,用的是相对路径。
那么,楼主要找到程序的当前路径才可以。
也就是说,程序所认为的当前路径,很可能不是“E:/Test/”。
楼主可以通过System.out.println(new File("").getAbsolutePath());
查看当前路径是什么,然后,添加适当的相对路径,就能得到第一个的结果了。
Edwin603 2009-07-23
  • 打赏
  • 举报
回复
来点能解释好的人 说明下 期待
java91 2009-07-23
  • 打赏
  • 举报
回复
经会到Test3类编译好的Test3.class下去找这个目录,肯定没有的。
shiyiwan 2009-07-23
  • 打赏
  • 举报
回复
和操作系统有关,若使用的是eclipse,可以点进去看看File的源码

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧