ホームページ >Java >&#&チュートリアル >Java でファイルまたはフォルダーのサイズを効率的に計算するにはどうすればよいですか?

Java でファイルまたはフォルダーのサイズを効率的に計算するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-29 10:18:02916ブラウズ

How do you efficiently calculate the size of a file or folder in Java?

Java でのファイルまたはフォルダーのサイズの取得

ファイルまたはフォルダーのサイズの取得は、ファイルを操作する場合の一般的なタスクですジャワでは。これを効果的に行う方法は次のとおりです。

ファイル サイズの取得

ファイルのサイズを取得するには、java.io で length() メソッドを使用できます。 .File オブジェクト。これは、ファイルの長さをバイト単位で返します。ファイルが存在しない場合は 0 を返します。

<code class="java">java.io.File file = new java.io.File("myfile.txt");
file.length();</code>

フォルダー サイズの取得

フォルダーのサイズの取得は機能しません。ファイルのサイズを取得するのと同じくらい簡単です。 Java にはこれを行う組み込みの方法はありません。代わりに、ディレクトリ ツリーを再帰的にたどって、各サブディレクトリとファイルのフォルダー サイズを累積する必要があります:

<code class="java">public static long folderSize(File directory) {
    long length = 0;
    for (File file : directory.listFiles()) {
        if (file.isFile())
            length += file.length();
        else
            length += folderSize(file);
    }
    return length;
}</code>

注意: directory.listFiles() の場合、上記のメソッドでは問題が発生する可能性があります。 null を返すか、シンボリック リンクが存在する場合は返します。

代替:

より堅牢なフォルダー サイズの計算については、JWalk や Apache Commons IO などのサードパーティ ライブラリの使用を検討してください。 。これらのライブラリは、Java でフォルダー サイズを計算するための、より信頼性が高く包括的なソリューションを提供します。

以上がJava でファイルまたはフォルダーのサイズを効率的に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。