Java でファイルとディレクトリを反復処理する方法
Java でファイルとディレクトリを反復処理することは、特にファイルを操作する場合に一般的なタスクです。システム。 File クラスには、この操作に役立ついくつかのメソッドが用意されています。
再帰の使用
1 つの方法は、再帰を使用することです。再帰には、問題を解決するためにその内部からメソッドを呼び出すことが含まれます。この場合、isDirectory() メソッドを使用して、指定されたファイルがディレクトリを表すかどうかを確認できます。ディレクトリの場合は、そのファイルをリストし、各サブディレクトリで同じメソッドを再帰的に呼び出すことができます。
例:
public void iterateFilesRecursively(File dir) { File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { iterateFilesRecursively(file); // Recursive call } else { System.out.println("File: " + file.getAbsolutePath()); } } }
ファイルの使用.walk()
Java 8 では Files.walk() メソッドが導入されました。末尾再帰を使用した再帰の代替手段を提供します。末尾再帰は通常の再帰のようにスタック領域を消費しないため、大規模なディレクトリ構造をより安全に処理できます。
例:
Files.walk(Paths.get("/path/to/dir")) .forEach(path -> System.out.println(path.toFile().getAbsolutePath()));
注:
ファイルを操作するときは、IOException などの潜在的な例外を処理することを忘れないでください。
以上がJava でファイルとディレクトリを効率的に反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。