Rumah > Java > javaTutorial > Bagaimana untuk Menukar Bait kepada Format Boleh Dibaca Manusia di Java?

Bagaimana untuk Menukar Bait kepada Format Boleh Dibaca Manusia di Java?

DDD
Lepaskan: 2024-12-02 12:09:15
asal
287 orang telah melayarinya

How to Convert Bytes to Human-Readable Format in Java?

Cara Menukar Saiz Byte kepada Format Boleh Dibaca Manusia dalam Java

Menentukan perwakilan saiz bait yang boleh dibaca manusia ialah keperluan biasa dalam pelbagai aplikasi pengkomputeran. Java menawarkan cara yang mudah untuk mencapai transformasi ini menggunakan kaedah berikut:

SI (1 k = 1,000)

Kaedah berikut menukar saiz bait kepada format yang boleh dibaca manusia menggunakan Sistem Antarabangsa bagi 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 (1 Ki = 1,024)

Untuk senario di mana awalan binari diutamakan, kaedah berikut menyediakan penukaran:

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

Coretan kod yang disediakan menjana contoh output berikut:

SI     BINARY
0:        0 B        0 B
27:       27 B       27 B
999:      999 B      999 B
1000:     1.0 kB     1000 B
1023:     1.0 kB     1023 B
1024:     1.0 kB    1.0 KiB
1728:     1.7 kB    1.7 KiB
110592:   110.6 kB  108.0 KiB
7077888:     7.1 MB    6.8 MiB
452984832:   453.0 MB  432.0 MiB
28991029248:    29.0 GB   27.0 GiB
1855425871872:     1.9 TB    1.7 TiB
9223372036854775807:     9.2 EB    8.0 EiB   (Long.MAX_VALUE)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menukar Bait 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