Anzahl der bytes, die im byte-array
Ich habe ein array byte[] arr
;
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] arr = out.toByteArray();
Wie Messe ich die Größe der Daten in den arr (wenn es war geschrieben auf die Festplatte übertragen oder via Netzwerk)?
Unten sind die Ansätze richtig sind - Sie nehmen an, dass sizeof(byte) = 1B
int byteCount = out.size();
int byteMsgCount = arr.length;
InformationsquelleAutor Yakov | 2016-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, per definition die Größe einer variable vom Typ
byte
ist ein byte. Also die Länge des Arrays, ist in der Tatarray.length
bytes.out.size()
geben Sie den gleichen Wert, d.h. die Anzahl der bytes, die Sie schrieb in den Ausgabe-stream.[Bearbeiten] Von cricket_007 Kommentar: wenn Sie sich auf die Umsetzung von
size
undtoByteArray
... so
toByteArray
im Grunde kopiert die aktuelle Ausgabe Puffer, bis zucount
bytes. So mitsize
ist eine bessere Lösung.toByteArray()
, wird es wieder ein neues array bis zu dem Wert der return-Wertsize()
, also wenn das array benötigt wird, dannsize()
wäre die bevorzugte Methode aufrufen.Guten Fang. Antwort aktualisiert
InformationsquelleAutor christophetd