Rumah > Java > javaTutorial > Bagaimanakah anda cekap mengira saiz fail atau folder dalam Java?

Bagaimanakah anda cekap mengira saiz fail atau folder dalam Java?

Susan Sarandon
Lepaskan: 2024-10-29 10:18:02
asal
990 orang telah melayarinya

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

Mendapatkan Saiz Fail atau Folder dalam Java

Mendapatkan semula saiz fail atau folder ialah tugas biasa apabila bekerja dengan fail di Jawa. Begini cara anda boleh melakukannya dengan berkesan:

Mendapatkan Saiz Fail

Untuk mendapatkan saiz fail, anda boleh menggunakan kaedah length() pada java.io .Fail objek. Ini mengembalikan panjang fail dalam bait atau 0 jika fail itu tidak wujud.

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

Mendapatkan Saiz Folder

Mendapatkan saiz folder bukan semudah mendapatkan saiz fail. Tiada cara terbina dalam untuk melakukan ini di Jawa. Sebaliknya, anda perlu menjalankan pepohon direktori secara rekursif, mengumpul saiz folder untuk setiap subdirektori dan fail:

<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>
Salin selepas log masuk

Awas: Kaedah di atas mungkin menghadapi masalah jika directory.listFiles() mengembalikan batal atau jika terdapat pautan simbolik.

Alternatif:

Untuk pengiraan saiz folder yang lebih mantap, pertimbangkan untuk menggunakan pustaka pihak ketiga seperti JWalk atau Apache Commons IO . Perpustakaan ini menyediakan penyelesaian yang lebih dipercayai dan komprehensif untuk mengira saiz folder dalam Java.

Atas ialah kandungan terperinci Bagaimanakah anda cekap mengira saiz fail atau folder dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan