ホームページ > Java > &#&チュートリアル > Java でファイルとディレクトリを効率的に反復するにはどうすればよいですか?

Java でファイルとディレクトリを効率的に反復するにはどうすればよいですか?

DDD
リリース: 2024-12-03 09:03:09
オリジナル
508 人が閲覧しました

How to Efficiently Iterate Through Files and Directories in Java?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート