这是源代码:
import java.io.*;
import java.util.*;
public class ListJavaFileDemo{
public static void main(String[] args)throws IOException{
File f=new File("d:");  //源
List<File> list=new ArrayList<File>();//路径暂放容器
FileWriter fw=new FileWriter("ListJavaFileDemo.txt");//目的地
ListJavaFile(f,list);//调用方法
for(File file:list){  //把集合中的File元素获取路径,然后遍历到输出流中去,
String str=file.getAbsolutePath();
fw.write(str);
fw.flush();
fw.write("\r\n");
fw.flush();
}
}
public static void ListJavaFile(File f,List<File> list){
File[] files=f.listFiles();//调用方法获取源文件夹下的所有文件和文件夹对象
for(File file:files){
if(file.isDirectory()){  //如果为文件夹,继续调用,递归
ListJavaFile(file,list);
}
else{
if(file.getName().endsWith(".class")){ //如果为java文件,那么封装成File对象并放到集合容器中去
list.add(file);
}
}
}
}
}
当然,这个代码运行没问题,但是目的却没达到,我的目的是想要获取D盘下所有的.java文件的路径,但是我把源头写成"d:" 这是把源头定位了这个程序所在的文件夹,而不是整个d盘,而把源头写成"d:\\"直接报空指针异常,小弟想问问,这样都达不到我的目的的话,那要怎么样写源头 才能获取整个d盘的.java文件呢