Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Menukar Saiz Byte kepada Format Boleh Dibaca Manusia di Java?

DDD
Lepaskan: 2024-11-26 08:08:13
asal
873 orang telah melayarinya

How to Convert Byte Sizes to Human-Readable Formats in Java?

Mendapatkan Saiz Byte dalam Format Boleh Dibaca Manusia dalam Java

Menukar saiz bait kepada format yang boleh dibaca manusia, seperti "1 kB " atau "1 MB," ialah tugas biasa dalam pengaturcaraan Java. Walaupun anda sering menulis kaedah utiliti anda sendiri untuk ini, terdapat juga penyelesaian yang boleh digunakan semula.

Kaedah Statik Apache Commons

Perpustakaan Apache Commons Lang menyediakan statik kaedah untuk menukar bait saiz:

  1. humanReadableByteCountSI: Menggunakan unit SI (asas 1000) seperti "GB", "MB", "kB".
  2. humanReadableByteCountBin: Menggunakan unit binari (asas 1024) seperti "GiB", "MiB", "KiB".

Butiran Pelaksanaan

Berikut ialah pelaksanaan kaedah ini:

Unit SI:

public static String humanReadableByteCountSI(long bytes) {
    if (-1000 < bytes && bytes < 1000) {
        return bytes + " B";
    }
    CharacterIterator ci = new StringCharacterIterator("kMGTPE");
    while (bytes <= -999_950 || bytes >= 999_950) {
        bytes /= 1000;
        ci.next();
    }
    return String.format("%.1f %cB", bytes / 1000.0, ci.current());
}
Salin selepas log masuk

Perduaan Unit:

public static String humanReadableByteCountBin(long bytes) {
    long absB = bytes == Long.MIN_VALUE ? Long.MAX_VALUE : Math.abs(bytes);
    if (absB < 1024) {
        return bytes + " B";
    }
    long value = absB;
    CharacterIterator ci = new StringCharacterIterator("KMGTPE");
    for (int i = 40; i >= 0 && absB > 0xfffccccccccccccL >>> i; i -= 10) {
        value >>>= 10;
        ci.next();
    }
    value *= Long.signum(bytes);
    return String.format("%.1f %ciB", value / 1024.0, ci.current());
}
Salin selepas log masuk

Contoh Output

Jadual berikut menunjukkan output untuk pelbagai saiz bait menggunakan kedua-dua kaedah SI dan Binari:

Byte Size SI Binary
0 0 B 0 B
27 27 B 27 B
1024 1.0 kB 1.0 KiB
1728 1.7 kB 1.7 KiB
1855425871872 1.9 TB 1.7 TiB

Atas ialah kandungan terperinci Bagaimana untuk Menukar Saiz Byte kepada Format Boleh Dibaca Manusia di 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan