【求】File 类异常处理一个不解的问题

zack_hoo 2010-04-22 02:05:34

import java.io.*;

public class FindDirectory {
public static void Directory(String dir) throws Exception{
File f = new File(dir);
if(f.isDirectory()){
String[] dirList = f.list();
for(int i=0;i<dirList.length;i++){
Directory(dir+"\\"+dirList[i]);
}
}else{
System.out.println(dir);
}
}

public static void main(String[] args) throws Exception{
Directory("c:");
}

}

以上的代码会一个 NullPointerException
Exception in thread "main" java.lang.NullPointerException
at FindDirectory.Directory(FindDirectory.java:8)
at FindDirectory.Directory(FindDirectory.java:9)
at FindDirectory.main(FindDirectory.java:19)




但我改成以下这样就没会问题了。。。。
import java.io.*;

public class FindDirectory {
public static void Directory(String dir){
try
{
File f = new File(dir);
if(f.isDirectory()){
String[] dirList = f.list();
for(int i=0;i<dirList.length;i++){
Directory(dir+"\\"+dirList[i]);
}
}else{
System.out.println(dir);
}
}
catch(Exception e)
{
System.out.println(e);
}
}

public static void main(String[] args) {
Directory("c:");
}

}

我对异常的理解
我在函数的后面加上 throws Exception
和我自己加上
try
{
}
catch(Execption e)
{
}
不是一样么,只是一个的自己处理,一个是执给JVM处理
~~~~~~~~~
...全文
72 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfq642773391 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zack_hoo 的回复:]
我明白了~~~~
我还有个问题~~~
那来的 NullPointerException 异常
我的这个程序我是按教程写的~~~~~~
[/Quote]

Directory(dir+"\\"+dirList[i]);
改为
Directory(dir+"/"+dirList[i]);

试一下
soli11722984 2010-04-22
  • 打赏
  • 举报
回复
。。。。。。。。。。
不是,那是WIN7做了手脚

好象我机子本来装了XP在C盘,然后我再装WIN7到J盘,双系统,可最后进入WIN7后发现,竟然把我全部的盘符给打乱了,WIN7的系统盘就默认成了C盘,然后我的XP盘。。。。。成了其他盘符

这个我只知道这么个现象
zack_hoo 2010-04-22
  • 打赏
  • 举报
回复
Thanks
晕,我用别人的机可以运行没错~~~
别人的机系统是XP
我的是WIN7
java 对Win7支持不好??
soli11722984 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zack_hoo 的回复:]
我明白了~~~~
我还有个问题~~~
那来的 NullPointerException 异常
我的这个程序我是按教程写的~~~~~~
[/Quote]

我这能跑起来。。。。。。
可能是和LZ的机器有关系
yingtju 2010-04-22
  • 打赏
  • 举报
回复
自己处理了程序可以继续运行
声明了throws Exception,调用它的函数需要对此异常做处理
zack_hoo 2010-04-22
  • 打赏
  • 举报
回复
我明白了~~~~
我还有个问题~~~
那来的 NullPointerException 异常
我的这个程序我是按教程写的~~~~~~
soli11722984 2010-04-22
  • 打赏
  • 举报
回复
哦,原来是对异常还不了解


不是一样么,只是一个的自己处理,一个是执给JVM处理


确实是这样,不过你说JVM能帮你做啥呢,大不了就是说哪里有问题出错了,然后就把停掉。。。。。。

62,614

社区成员

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

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