Datei in Speicher lesen

zerix

Hausmeister
Moderator
Ich bins mal wieder.

Ich hab eine datei, die ich mit 2 Outputstreams bearbeiten muss, einem ZipOutputstream und danach einen FileOutputStream. Also ich möchte das ergebnis von dem zipoutputstream nochmal mit dem fileoutputstream schreiben. Es soll aber niemand an die zipdatei kommen.
Gibt es eine möglichkeit, das die daten aus dem zipoutputstream in den speicher lese und dann zum schluss mit dem fileoutputstream auf die festplatte schreibe?
 
Benutze einfach einen ByteArrayOutputStream für die Zwischenspeicherung.

Den FileOutputStream fütterst Du mit dem erzeuten byte-Array.
 
Die Idee hatte ich schon mal. Ich hab nur keine ahnung wie ich das machen soll. könntest du mir ein kleines code-beispiel zeigen
 
Code:
FileInputStream in = new FileInputStream("c:\\t.txt");
ByteArrayOutputStream out = new ByteArrayOutputStream();
int i;
while (in.read(i) > -1) {
  out.write(i);
}
byte[] cache = out.toByteArray();
in.close();
out.close();
 
Danke, aber so hätte ich das hinbekommen. :-)

Ich bräuchte das in verbindung mit einem ZipOutputstream.
Einem ZipoutputStream muss man ja einen Outputstream übergeben. Wenn ich da einen ByteArrayOutputStream übergebe und ich ZipOutputStream.write() aufrufe, wird das dann in den ByteArrayOutputStream geschrieben?
 
Zurück