Wie konvertiert man outputStream in ein Byte-Array?

12

Wie kann ich einen OutputStream in ein Byte-Array konvertieren? Ich habe festgestellt, dass ich zuerst diesen OutputStream zu einem ByteArrayOutputStream konvertieren muss. In dieser OutputStream-Klasse gibt es nur die write () -Methode, und ich weiß nicht, was ich tun soll. Gibt es eine Idee?

    
hellzone 18.04.2014, 12:20
quelle

4 Antworten

14

Erstelle ein ByteArrayOutputStream .

Besorgen Sie sich den Inhalt, indem Sie toByteArray()

aufrufen

Referenz

    
Mozzie 18.04.2014, 12:25
quelle
2

Sie müssen 2 Dinge tun

  • Mit ByteArrayOutputStream schreibe darauf
  • Mit toByteArray () erhalten Sie den Inhalt als byte []

Sie könnten es sogar wie erwähnt hier

erweitern     
John 18.04.2014 12:25
quelle
1

Sie können Ihren Ausgabestream einfach als ByteArrayOutputStream deklarieren und dann ByteArrayOutputStream#toByteArray() verwenden.

    
Dillon Ryan Redding 18.04.2014 12:30
quelle
1

Wenn das angegebene Objekt OutputStream nicht bereits ByteArrayOutputStream ist, kann wrap it in einer Delegate-Klasse verwendet werden, die die an die write() -Methoden gelieferten Bytes "ergreift", z. B.

%Vor%

Um den Overhead zu reduzieren, können die Aufrufe von super in der obigen Klasse weggelassen werden - z. B. wenn nur die "Umwandlung" in ein Byte-Array erwünscht ist.

Eine ausführlichere Diskussion finden Sie in einer weiteren StackOverflow-Frage .

>     
PNS 29.03.2017 00:19
quelle

Tags und Links