ファイルまたはディレクトリを検索するプログラムを作成しました。ディレクトリの
例
でファイルを検索しようとすると正常に動作し ますが、ローカルドライブ
からファイルを検索しようとすると、すべての検索結果を表示した
後に例外がスローされ、NullPointerException がスローされます。
java FileSearch abc.txt f:\xyz
java FileSearch abc.txt f:\
コードは:
import java.io.*;
class FileSearch{
static String fd;
static boolean flg=true;
public static void main(String arr[]){
fd=arr[0];
String path=arr[1];
String dir[]=new File(path).list();
new FileSearch().finder(dir,path);
if(flg){System.out.print("File not found.");}
}
public void finder(String[] dir,String path){
for(int i=0;i<dir.length;i++){
if(dir[i].equals(fd)){
System.out.println(path+"\\"+fd);
flg=false;
}
if(new File(path,dir[i]).isDirectory())
finder(new File(path,dir[i]).list(),path+"\\"+dir[i]);
}
}
}
この例外がスローされる理由と、それを修正する方法を知りたいです。