Hallo,
ich habe folgendes Problem:
Ich möchte ein Zip-Archiv entpacken.
Der FileOutputStream schreibt die Dateien aus einem byte-Array in einen File.
Bis hierhin funktioniert alles. Schließe ich allerdings den Stream löscht er die Datei der er erzeugt hat.
Ich bin seit 3 Uhr dran das Problem zu lösen habe aber nichts hilfreiches finden können.
Hier der Source Code:
Das close des OutputStreams ist auskommentiert, so funktioniert der Code problemlos nur bekomme ich den OutputStream nicht geschlossen.
Falls jemand noch Details braucht bitte melden.
Danke schon mal im voraus für Tipps
viele Grüße,
Meeresgott
Ich benutzte die JDK 1.8.0 u60
und die JRE 1.8.0 u60
ich habe folgendes Problem:
Ich möchte ein Zip-Archiv entpacken.
Der FileOutputStream schreibt die Dateien aus einem byte-Array in einen File.
Bis hierhin funktioniert alles. Schließe ich allerdings den Stream löscht er die Datei der er erzeugt hat.
Ich bin seit 3 Uhr dran das Problem zu lösen habe aber nichts hilfreiches finden können.
Hier der Source Code:
Java:
public static void entZip(String archiv, String toOrdner) {
try {
ZipFile zipFile = new ZipFile(archiv);
System.out.println("\nArchiv location: " + archiv);
System.out.println("Output location: " + toOrdner);
Enumeration enu = zipFile.entries();
while (enu.hasMoreElements()) {
ZipEntry zipEntry = (ZipEntry) enu.nextElement();
BufferedInputStream bis = new BufferedInputStream(zipFile.getInputStream(zipEntry));
byte[] buffer;
int avail = bis.available();
if (avail > 0) {
buffer = new byte[avail];
bis.read(buffer, 0, avail);
bis.close();
File outFile = new File(toOrdner + "\\" + zipEntry.getName());
System.out.println("outFile: " + outFile.getAbsolutePath());
File parent = outFile.getParentFile();
System.out.println("Parent outFile: " + parent.getAbsolutePath());
if (!parent.exists()) {
System.out.println("Parent create: " + parent.mkdirs());
}
FileOutputStream fos = new FileOutputStream(outFile);
fos.write(buffer);
//fos.close();
fos.flush();
}
}
zipFile.close();
} catch (IOException ex) {
Logger.getLogger(Zippen.class.getName()).log(Level.SEVERE, null, ex);
}
}
Das close des OutputStreams ist auskommentiert, so funktioniert der Code problemlos nur bekomme ich den OutputStream nicht geschlossen.
Falls jemand noch Details braucht bitte melden.
Danke schon mal im voraus für Tipps
viele Grüße,
Meeresgott
Ich benutzte die JDK 1.8.0 u60
und die JRE 1.8.0 u60