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

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

Oct 29, 2024 am 10:18 AM

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 までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte 2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte Mar 07, 2025 pm 06:09 PM

2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか? Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか? Mar 17, 2025 pm 05:35 PM

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか? 高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか? Mar 17, 2025 pm 05:46 PM

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?

node.js 20:キーパフォーマンスが向上し、新機能 node.js 20:キーパフォーマンスが向上し、新機能 Mar 07, 2025 pm 06:12 PM

node.js 20:キーパフォーマンスが向上し、新機能

Javaで機能的なプログラミング技術を実装するにはどうすればよいですか? Javaで機能的なプログラミング技術を実装するにはどうすればよいですか? Mar 11, 2025 pm 05:51 PM

Javaで機能的なプログラミング技術を実装するにはどうすればよいですか?

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか? カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか? Mar 17, 2025 pm 05:44 PM

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正 Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正 Mar 07, 2025 pm 05:52 PM

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正

2025年にApache Kafkaとのデータパイプラインの革命 2025年にApache Kafkaとのデータパイプラインの革命 Mar 07, 2025 pm 06:19 PM

2025年にApache Kafkaとのデータパイプラインの革命

See all articles