Heim > Java > javaLernprogramm > Wie konvertiert man Bytes in Java in ein für Menschen lesbares Format?

Wie konvertiert man Bytes in Java in ein für Menschen lesbares Format?

DDD
Freigeben: 2024-12-02 12:09:15
Original
293 Leute haben es durchsucht

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

So konvertieren Sie die Bytegröße in ein für Menschen lesbares Format in Java

Die Bestimmung der für Menschen lesbaren Darstellung der Bytegröße ist eine häufige Anforderung in verschiedenen Computeranwendungen. Java bietet eine bequeme Möglichkeit, diese Transformation mit den folgenden Methoden durchzuführen:

SI (1 k = 1.000)

Die folgende Methode konvertiert die Bytegröße in ein für Menschen lesbares Format unter Verwendung des Internationalen Systems von Einheiten (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());
}
Nach dem Login kopieren

Binär (1 Ki = 1.024)

Für Szenarien Wenn binäre Präfixe bevorzugt werden, sorgt die folgende Methode für die Konvertierung:

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());
}
Nach dem Login kopieren

Beispielausgabe

Die bereitgestellten Codefragmente generieren die folgende Beispielausgabe:

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)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie konvertiert man Bytes in Java in ein für Menschen lesbares Format?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage