在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中文網其他相關文章!