正しいアプローチを使用しているかどうかわからないので、間違っていると言う前に新しいアイデアを受け入れます。ファイルを探すために必要なディレクトリパスの配列があります。例ですべて .txt としましょう。今Files.walkFileTree(...)
、すべてのディレクトリでa を実行しSimpleFileVisitor
、最初の一致で停止します。next
しかし今、停止した時点から検索を続けるボタンを追加したいと考えています。これどうやってするの?
すべての一致を配列に保存して、そこから読み取ることができると考えましたが、スペースとメモリを消費します。したがって、より良いアイデアをいただければ幸いです。
// example paths content: [/usr, /etc/init.d, /home]
ArrayList<String> paths;
for( String s : paths )
Files.walkFileTree(Paths.get(s), new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if (alreadyfound >= 10) {
return FileVisitResult.TERMINATE;
}
if (file.toString().endsWith(".txt")) {
System.out.println("Found: " + file.toFile());
}
return FileVisitResult.CONTINUE;
}
});