首頁 >Java >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() 方法.文件對象。這將傳回檔案的長度(以位元組為單位),如果檔案不存在,則傳回 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn