ZipInputStream, Entry.getSize()

zerix

Hausmeister
Moderator
Hallo!

Ich bins nochmal :-)

Ich lese eine Zip-Datei mit einem ZipInputStream aus einem ByteArray ein und arbeite dann so jedes Entry ab. Allerdings kann ich die ursprüngliche Größe und die gepackte Größe nicht abfragen. Es kommt jedesmal nur -1. Weiß jemand woran das liegt?

Code:
ZipInputStream zis = new ZipInputStream(
	 				new ByteArrayInputStream(baos.toByteArray()));
	      
	 		ZipEntry entry = null;
	 		
	 		
	 		while ((entry = zis.getNextEntry()) != null) {
	 			System.out.println(entry.getSize());
	 			}
	 		
	 
	 		zis.close();
 
Warscheinlich liest Du ein Archiv ein, wo diese Werte nicht gesetzt wurden und somit im ZipEntry nicht auslesbar sind (siehe API).
 
Ich erstelle dieses Archiv selbst. Deshalb wundert es mich ja. Ich benutze die gleiche Methode in einem anderen Programm und da kann ich sie auslesen. Der einzige unterschied, bei dem anderen Prog schreibe ich sie direkt auf die Festplatte und lese sie von da aus und nicht aus einem ByteArray
 
Zurück