次の再帰的な方法を使用して、特定のディレクトリ内のすべてのファイルとフォルダーを一覧表示していますが、非表示のシステム保護ファイルを表示している場合でも、Windowsエクスプローラーに表示されないファイルが一覧表示されているようです。ディレクトリをスキャンする方法を設定しましたが、ディレクトリC:\\
にファイルを出力するとハングします。まあ、実際には、ハングするとは思わない-最終的な配列を返すように見えるが、まだファイルがあり、例外はスローされない!Boot
BOOTSECT.BAK
private static ArrayList<File> recursiveSearch(File dir){
File[] files = dir.listFiles();
ArrayList<File> result = new ArrayList<File>();
for(File file : files)
if(file.isDirectory()){
result.add(file);
ArrayList<File >tempList = recursiveSearch(file);
for(File temp : tempList)
result.add(temp);
}else{
result.add(file);
System.out.println(file.getPath());
}
return result;
}
私は知ってFileSystemView
いますが、この場合、カスタムファイル名フィルターを適用する必要があるため使用できません(上記から除外しましたが、テストしましたが、メソッドの出力には影響しません)。助けていただければ幸いです-事前に感謝します