Gibt es eine Java-enum-für die Größe-Einheiten, die das äquivalent zu java.util.gleichzeitige.TimeUnit?
Habe ich immer gerne die Lesbarkeit der Zuordnungen, die verwendet TimeUnit etwa so:
long timePeriodInMillis = TimeUnit.MINUTES.toMillis( 53 );
Über etwas wie:
long timePeriodInMillis = 53 * 60 * 1000;
Gibt es ein äquivalent enum, die ich verwenden kann für filesize Einheiten? So etwas wie
long maxBits = FilesizeUnit.MEGABYTES.toBits( 11 );
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe genau das gemacht, sth, wie dies vor einem halben Jahr nur zum Spaß, inspiriert durch TimeUnit enum.
Werde ich es hochladen auf GitHub morgen. Es enthält zwei enums:
BitUnit
undByteUnit
. Beide unterstützen auch die Konvertierung zwischen einander. ByteUnit hat support für 2-basierte Präfixe als auch für 10-basierend Präfixe. (Enum-Konstanten und Methoden inByteUnit
verwenden, IEC 80000-13 Terminologie für die Präfixe.)Nutzung sieht wie folgt aus:
... und druckt aus:
Für die Konvertierung Methoden, die zwischen Bits und Bytes haben Sie überladene Methoden zu geben Sie ein Wort andere Größe als 8 bits pro byte.
Hoffe Ihr könnt bis morgen warten.
BEARBEITEN
Hier sind Sie: https://github.com/fabian-barney/Utils
Nicht mir die Schuld für die Verzeichnis-Struktur - ich bin noch nicht vertraut mit Git noch nicht. 🙂
double
geben. Sondern darum, es genauer in diese Sphären sprengen würde-code, damit ich das für mich entschieden zu bleiben, eine besser wartbare version.Apache commons bietet Konstanten in der
FileUtils
Klasse, wieFileUtils.ONE_MB
FileUtils.ONE_GB
Quelle : https://commons.apache.org/proper/commons-io/javadocs/api-2.2/org/apache/commons/io/FileUtils.html
Ihre definition eines KB basiert auf 1024 bytes, (a-MB ist KB2, und so lange).
Nein, aber Sie können konvertieren Sie leicht selbst mit:
oder
je nach Ihrer definition einer MB.
L
oder eine Besetzung.Blick auf die Java-Dokumentation für die
Comparable
- Schnittstelle, dieTimeUnit
implementiert, es gibt keine solche Sache. Siehe hier: http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.htmlMit diesem link aber sollte es nicht schwer sein für Sie, leiten Sie Ihre eigene, funktionierende version zu verwenden in Ihrem Projekt(s).
Comparable
überhaupt mit der Frage?