Können wir ein Byte-Array in Java in einen InputStream konvertieren?

Lesezeit: 1 Minute

Benutzer-Avatar
Rover12

Können wir ein Byte-Array in Java in einen InputStream konvertieren? Ich habe im Internet gesucht, bin aber nicht fündig geworden.

Ich habe eine Methode, die einen InputStream als Argument hat.

Der InputStream cph Ich habe Base64-codiert, also musste ich es mit decodieren

BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);

Wie konvertiere ich jetzt decodedBytes wieder zu InputStream?

  • Der Link “Verwenden” oben auf den API-Dokumentseiten ist für diese Art von Problemen sehr nützlich.

    – Tom Hawtin – Angelleine

    26. November 2009 um 8:45 Uhr

Benutzer-Avatar
Daniel Rikowski

Verwenden ByteArrayInputStream:

InputStream is = new ByteArrayInputStream(decodedBytes);

Benutzer-Avatar
Diego

java.io.ByteArrayInputStream erweitert InputStream um genau das zu tun:

InputStream myInputStream = new ByteArrayInputStream(myBytes); 

Benutzer-Avatar
David

es ist in den Javadocs:

byte[] byteArr = new byte[] { 0xC, 0xA, 0xF, 0xE };
InputStream is = new ByteArrayInputStream(byteArr);

Benutzer-Avatar
Stefan Denne

Wenn du benutzt Das Base64-Dienstprogramm von Robert Harderdann kannst du machen:

InputStream is = new Base64.InputStream(cph);

Oder mit der JRE von sun können Sie Folgendes tun:

InputStream is = new
com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream(cph)

Verlassen Sie sich jedoch nicht darauf, dass diese Klasse weiterhin Teil der JRE ist oder sogar weiterhin das tut, was sie heute zu tun scheint. So sagen, es nicht zu benutzen.

Es gibt andere Stack Overflow-Fragen zur Base64-Decodierung, wie diese.

1334440cookie-checkKönnen wir ein Byte-Array in Java in einen InputStream konvertieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy