Java - Konvertiere die Größe eines lesbaren Menschen in Bytes

8

Ich habe viele Informationen über das Konvertieren von Rohbyte-Informationen in ein für Menschen lesbares Format gefunden, aber ich muss das Gegenteil tun, dh den String "1,6 GB" in den langen Wert 1717990000 konvertieren. Gibt es ein eingebautes / wohldefinierte Art und Weise, dies zu tun, oder werde ich so ziemlich meine eigenen rollen müssen?

[Bearbeiten]: Hier ist mein erster Stich ...

%Vor%     
Dan Forbes 06.06.2013, 17:36
quelle

4 Antworten

2

Ich habe noch nie von solch einer wohlbekannten Bibliothek gehört, die solche Text-Parsing-Utility-Methoden implementiert. Aber Ihre Lösung scheint nahe an der korrekten Implementierung zu liegen.

Die einzigen beiden Dinge, die ich in Ihrem Code korrigieren möchte, sind:

  1. Definieren Sie die Methode Number parse(String arg0) als statisch aufgrund der Natur des Hilfsprogramms

  2. Definieren Sie factor s für jeden Typ der Größendefinition als final static fields.

i.e. Es wird so sein:

%Vor%     
Andremoniy 07.06.2013, 12:25
quelle
3

Eine überarbeitete Version von Andremonis Antwort, die richtig zwischen Kilo und Kibi unterscheidet, usw.

%Vor%     
gilbertpilz 22.10.2015 19:08
quelle
2

Ich weiß, das ist viel später, aber ich suchte nach einer ähnlichen Funktion, die auch das SI-Präfix berücksichtigt . Also bin ich selbst auf die Beine gekommen und dachte mir, dass es für andere Leute nützlich sein könnte.

%Vor%

Ich bin mir sicher, dass dies auch mit Rekursion möglich ist. Es war zu einfach zu stören ...

    
nbz 18.03.2015 16:24
quelle
2

Alles in einer Antwort, analysiert zu long :

%Vor%     
RobAu 24.08.2017 11:13
quelle