各位大虾好,小弟初学java,写了个文件搜索小程序,用于windows下特定文件或文件夹的搜索。代码如下,自个测试时,跑整个c盘没有问题,但跑其他盘的时候会出现空指针异常,小弟不解其意,望各位大虾不吝赐教!import java.io.File;public class FileSearch { /**
 * @param args
 */
public static void main(String[] args) {
String [] paths = null;
if(args.length < 1 ){
System.out.println("参数输入错误,程序将重启。");
System.exit(1);
}
String  name = args[0];
if(args.length>=2){
paths = new String [] {args[1]};
}else{
paths = new String []{"c:/","d:/","e:/","f:/"};
}

FileSearch fs = new FileSearch();
fs.splitFiles(name, paths);
} private static void splitFiles(String name,String [] paths){
for(int i = 0;i<paths.length;i++){
File file = new File(paths[i]);
fileSearch(file,name);
}
}

private static void fileSearch(File file,String name){
if(file.exists()&&file.getName().contains(name)){
System.out.println(file.getPath());
}
if(file.exists()&&file.isDirectory()&&(file.listFiles().length>0)){
File [] files = file.listFiles();
for(int j = 0;j<files.length;j++){
fileSearch(files[j],name);
}
}
}
}eg:
javac FileSearch.java
java FileSearch ems.sql d:/
(注:本人c盘文件系统格式为FAT32,其他盘符为NTFS  应该和这个没有关系吧?)