Wie Baue FileInputStream-Objekt mit byte-array als parameter
Habe ich eine zip-Datei und nach der Decodierung, bekomme ich ein byte-array nun möchte ich erstellen, ein FileInputStream-Objekt mit, dass byte [] - Objekt. Ich möchte eine Datei erstellen, statt die übergabe von Daten Inhalte FileInputStream.
Gibt es eine Möglichkeit ?
folgenden code:
byte[] decodedHeaderFileZip = decodeHeaderZipFile(headerExportFile);
FileInputStream fileInputStream = new FileInputStream(decodedHeaderZipFileString);
BEARBEITEN:
Ich wollte bauen Sie ein ZipInputStream Objekt mit einem FileInputStream.
InformationsquelleAutor Rauf | 2013-11-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aber Sie nicht über eine Datei. Sie haben einige Daten im Speicher. So ein
FileInputStream
ungeeignet ist - es gibt keine Datei für Sie zum Lesen aus.Wenn möglich, verwenden Sie eine
ByteArrayInputStream
statt:Wo möglich, äußern Sie Ihre API in Bezug auf
InputStream
,Reader
etc eher als eine spezifische Implementierung, die es Ihnen ermöglicht, flexibel zu sein, welche Implementierung Sie verwenden. (Was ich meine ist, dass, wo möglich, Methode, Parameter und RückgabetypenInputStream
eher alsFileInputStream
- so dass der Anrufer nicht brauchen, um die spezifischen Arten.)Wenn Sie absolut haben zu erstellen
FileInputStream
Sie benötigen zum schreiben der Daten in eine Datei zuerst.Er ist einfach genau das geschafft, sogar mit code.
wie oben im EDIT..mit @Jon Skeets Hilfe, die ich gebildet InputStream-Objekt und übergeben es an den ZipInputStream als parameter und ES hat funktioniert !! danke 🙂
Ich habe bearbeitet meine Antwort zu erklären, was ich meine über APIs. Es ist nicht klar, ob Sie hat haben eine API, die benötigt
FileInputStream
an alle, aber es ist immer noch etwas zu prüfen.InformationsquelleAutor Jon Skeet