Gesplittete 7zip Archive mit SequenceInputStream zusammenführen, und dann entpacken.

Also die Exception die er wirft sieht dabei so aus:
Java:
java.lang.IllegalArgumentException
	at java.util.zip.ZipInputStream.getUTF8String(Unknown Source)
	at java.util.zip.ZipInputStream.getFileName(Unknown Source)
	at java.util.zip.ZipInputStream.readLOC(Unknown Source)
	at java.util.zip.ZipInputStream.getNextEntry(Unknown Source)
	at source.ActionAssign.widgetSelected(ActionAssign.java:158)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at source.GUI.main(GUI.java:46)
 
Tja ... ohne den entsprechenden Source wird das ein Rätzelraten.
Wie gesagt : versuche doch mal den ganzen mist den du da in deinem zweiten Post hast zu kommentieren und einfach nur über den Iterator die Struktur des Zip's mit einem simplen System.out.println() auf der Console auszugeben.
 
der Code steht schon da

und bei while ((entry = zipIn.getNextEntry()) != null) { passiert der Fehler, aber erst nach mehreren Entries
 
Zuletzt bearbeitet:
1) Doppel-Posts sind hier unerwünscht.
Du kannst also den Code löschen ... wichtig war die Info WO die Exception auftritt.

2) Du hast die Zip-API scheinbar immer noch nicht verstanden und verstehst auch nicht was ich von dir will.
Es ist zwar richtig das ZipInputStream die Methode getNextEntry() bereitstellt, jedoch würde ich mich darauf nicht verlassen.
Versuche doch erstmal , bevor du das Zip liest , folgendes *ist in Bezug auf meinen vorheringen Code*:
Java:
ZipFile zipFile=new ZipFile(new File(PATH, "output.zip"));
Enumeration<? extends ZipEntry> entries=zipFile.entries();
while(entries.hasMoreElements())
{
	ZipEntry entry=(ZipEntry)entries.nextElement();
	System.out.println(entry.getName());
}

Sollte dieser Code eine Exception werfen ist das von dir zusammenkopierte ZipFile immernoch fehlerhaft.
 
Deinen Code habe ich schon verstanden, ich hab rausgefunden das wiedermal die quellzips kaputt waren. Jetzt geht es soweit, aber nun habe ich ein neues Problem sobald eine Datei im Zip ist, die Umlaute drinnen hat schmeist der mich mit einer IO-Exception beim Schreiben der Datei raus. Die Meldung ist dabei Stream Closed.
 
Zuletzt bearbeitet:
Das ist auch der Grund warum man Sonderzeichen in Datei- und Ordnernamen vermeiden sollte. Aber da ja heutzutage die meisten OS UTF können fällt es erst auf wenn du mal sowas wie Zip hast das kein UTF kann.
Beschwere dich diesbezüglich also mal bei dem der die Zip-Files erstellt das er sich aus komatibilitäts-Gründen mal dazu entschließen sollte KEINE UTF-Chars zu verwenden. Auch gibt es Probleme weil Win und Linux unterschiedliche Charsets benutzen ... also die Sonderzeichen noch nicht mal zwischen verschiedenen OS gleichbleiben geschweigedenn in irgendwelchen Algorythmen.
 

Neue Beiträge

Zurück