java中显示目录下所有文件,程序如下,哪里错了
packagecom.Lei.operate;importjava.io.*;publicclassFirst{publicstaticvoidSS(Filefile){...
package com.Lei.operate;
import java.io.*;
public class First {
public static void SS(File file){
File sec[]=file.listFiles();
for(int i=0;i<sec.length;i++){
if(sec[i].isDirectory())
SS(sec[i]);
else
System.out.println("文件:"+sec[i]);
}
}
public static void main(String[] args) {
File f = new File("f:/javcx");
SS(f);
}
}
Exception in thread "main" java.lang.NullPointerException
at com.Lei.operate.First.SS(First.java:8)
at com.Lei.operate.First.main(First.java:24) 展开
import java.io.*;
public class First {
public static void SS(File file){
File sec[]=file.listFiles();
for(int i=0;i<sec.length;i++){
if(sec[i].isDirectory())
SS(sec[i]);
else
System.out.println("文件:"+sec[i]);
}
}
public static void main(String[] args) {
File f = new File("f:/javcx");
SS(f);
}
}
Exception in thread "main" java.lang.NullPointerException
at com.Lei.operate.First.SS(First.java:8)
at com.Lei.operate.First.main(First.java:24) 展开
2个回答
展开全部
兄弟,在你的源码中,我从第三行开始,一字未改地复制到倒数第二行,在自己新建的class里运行,没有任何问题。
唯一的改动,就是将目录名"f:/javcx"改成了我的系统临时目录“/tmp"。顺便说一声 ,你的这个目录名“f:/javcx“是可疑的,看样子是在windows下,但windows提目录分隔符是\,因此,应该改成"f:\\javcx“。但不清楚是不是这个问题,因为Java是系统中立的,也许用/也可以,JVM会自己帮你替换。由于我不在windows没法给你验证。
另外,就是要确保你的文件系统上,确实存在"f:/javcx"这个目录。
唯一的改动,就是将目录名"f:/javcx"改成了我的系统临时目录“/tmp"。顺便说一声 ,你的这个目录名“f:/javcx“是可疑的,看样子是在windows下,但windows提目录分隔符是\,因此,应该改成"f:\\javcx“。但不清楚是不是这个问题,因为Java是系统中立的,也许用/也可以,JVM会自己帮你替换。由于我不在windows没法给你验证。
另外,就是要确保你的文件系统上,确实存在"f:/javcx"这个目录。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询