ファイル内の文字列を再帰的に検索する次の関数がありますが、それは。を与え続けますNullPointerException
。最初に呼び出されたときは機能しているように見えますが、再帰的に自分自身を呼び出すと、files
nullになります。
public void recursiveSearch(File searchDirectory, String searchString){
File[] files = searchDirectory.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()){
recursiveSearch(files[i], searchString);
}
if (files[i].getName().contains(searchString)){
searchResultFiles.add(files[i]);
}
}
}
これがどのように呼ばれるかの例です:
recursiveSearch("/", "abc");