Kann jemand ByteBuffer in Byte [] Array konvertieren? Ich muss Byte-Array von meinem ByteBuffer
bekommen. Wenn ich bytebuffer.hasArrray()
ausführen, gibt es keine zurück. Jede Frage, die ich bisher untersucht habe, konvertiert Byte-Array in Byte-Puffer, aber ich brauche es andersherum. Danke.Konvertiere ByteBuffer in Byte Array Java
Antwort
ByteBuffer legt die Massenmethode get(byte[])
offen, die Bytes aus dem Puffer in das Array überträgt. Sie müssen ein Array der Länge instanziieren, das der Anzahl der verbleibenden Bytes im Puffer entspricht.
ByteBuffer buf = ...
byte[] arr = new byte[buf.remaining()];
buf.get(arr);
Code nur Antworten werden normalerweise verbessert, indem Sie etwas Text hinzufügen, der erklärt, was der Code tut - können Sie ein bisschen Text hinzufügen, um dem OP zu erklären? –
Danke mein Mann! – Powisss
Wenn hasArray()
Berichte false
dann, Aufruf array()
wirft eine Ausnahme.
In diesem Fall ist die einzige Möglichkeit, die Daten in einem byte[]
zu erhalten, ist ein byte[]
zuzuweisen und die Bytes an die byte[]
mit get(byte)
oder ähnlichem kopieren.
Einfache Beispiel funktioniert.
ByteBuffer bb1 = ByteBuffer.wrap("hello world".getBytes());
System.out.println(bb1.hasArray());
System.out.println(new String(bb1.array()));
Wie auch immer Sie sagen, hat Array zurückgibt falsch. Kann nur gelesen werden.
/**
* Tells whether or not this buffer is backed by an accessible byte
* array.
*
* <p> If this method returns <tt>true</tt> then the {@link #array() array}
* and {@link #arrayOffset() arrayOffset} methods may safely be invoked.
* </p>
*
* @return <tt>true</tt> if, and only if, this buffer
* is backed by an array and is not read-only
*/
public final boolean hasArray() {
return (hb != null) && !isReadOnly;
}
- 1. Ruft Byte-Array von einem ByteBuffer in Java
- 2. Konvertiere Byte [] in BitSet
- 3. Handle Byte [] mit ByteBuffer
- 4. C++ entspricht Java ByteBuffer?
- 5. Wie konvertiere ich ein Byte-Array zu Base64 in Java?
- 6. Konvertiere Byte [] in sbyte []
- 7. Konvertiere binäre Zeichenfolge in Byte-Array
- 8. Java: Lesen einer PDF-Datei von URL in Byte-Array/ByteBuffer in einem Applet
- 9. Java (J2ME) Konvertiere Bild in Byte [], dann zurück zu Bild
- 10. ByteBuffer zu String in Java konvertieren
- 11. Java ByteBuffer bis C
- 12. C# Wie konvertiere ich System.Net.ConnectStream in ein Byte [] (Array)
- 13. Wie konvertiere ich Byte-Array zu Bild in Javascript
- 14. Wie konvertiere ich ein C# -Byte-Array in strukturierte Daten?
- 15. Java-Byte/Byte-Array-Speicherplatz Effizienzvergleich
- 16. Java InputStream zu ByteBuffer
- 17. Java-Byte-Array zu signierten Int
- 18. byte [] zu String in Byte-Array-Konvertierung nicht in Java
- 19. Java Byte Array Konvertierung Ausgabe
- 20. Java Partielle Nachrichtenbehandlung von Socket NIO ByteBuffer
- 21. Byte-Array unsigned int in Java
- 22. Java Iterate-Bits in Byte-Array
- 23. Byte-Array in groovy
- 24. Get Index von bytebuffer
- 25. Konvertiere imageUrl in Byte [] für Caching
- 26. Konvertiere Bild in Byte mit PHP
- 27. C# Split-Byte [] Array
- 28. Java und C# - Byte-Array zu lange Umrechnungsdifferenz
- 29. Google Cloud-Speicher statt ByteBuffer mit Strom - java
- 30. Wie konvertiert man ein String-Array in ein Byte-Array? (Java)
Haben Sie versucht 'byteBuffer.array()'? –
@JohnnyWiller - es wird fehlschlagen ... hasArray gibt 'false' zurück. –
Ja, ich habe keinen Erfolg gehabt. – Powisss