Zip-Archiv auslesen und Entry-Informationen auslesen

Status
Nicht offen für weitere Antworten.

Luma

Bekanntes Mitglied
Hio. Ich entwickel gerade ein kleines Archivierprogramm. Es geht auch alles bestens nur kann ich nicht „richtig“ auf die ZipEntrys im Zip-Archiv zugreifen. D.h. ich kann schon den Namen auslesen, aber das war's dann auch schon. Muss man den das Archiv immer komplett entpacken, um auf die Dateien zuzugreifen. Ich brauche so Informationen wie z.B. das Icon der Datei oder die echte, sowie die komprimierte Größe (wenn ich zipEntry.getSize() mache kommt nämlich nur -1 zurück)...

Dann hab ich noch eine zweites Problem mit Zip-Archiven: Angenommen es liegt bereits ein Zip-Archiv auf der Festplatte. Jetzt möchte der Benutzer dieses Archiv erweitern. Den Code den ich dazu verwende funktioniert auch bestens, aber nur so lange bis ich am Level des ZipOutputStreams rumspiele... Es gibt dann nämlich immer eine ZipException die mir z.B. Sagt:
Code:
invalid entry compressed size (expected 2364329 but got 1051243 bytes)


Hier mein Code:

Code:
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outputFile));
out.setComment(this.comment);
//out.setLevel(10); //das ergibt die Exception

ArrayList<String> archiveTable = new ArrayList<String>();
			
if(inputFile.exists())
{	
	ZipFile zipFile = new ZipFile(inputFile);
	Enumeration enu = zipFile.entries();
	while(enu.hasMoreElements())
	{						
		ZipEntry ent = (ZipEntry) enu.nextElement();
		archiveTable.add(ent.getName());
		InputStream in = zipFile.getInputStream(ent);
		out.putNextEntry(ent);
		this.setCurrent("Archiviere: " + ent.getName());
		while((len = in.read(BUFFER)) > 0)
		{
			out.write(BUFFER, 0 , len);	
		}
		in.close();
		out.closeEntry();
	}
	zipFile.close();
					
}

//HashMap enthält die Dateien			
Iterator it = filesHashmap.keySet().iterator();
while (it.hasNext())
{
	String fileKey = it.next().toString();
	String filePath = filesHashmap.get(fileKey).toString();
	File file = new File(filePath);
				
	InputStream in = new FileInputStream(file);
	
	ZipEntry zipEntry = new ZipEntry(fileKey);
	out.putNextEntry(zipEntry);
	len = 0;
	while ((len = in.read(BUFFER)) > 0)
	{
		out.write(BUFFER, 0, len);
	}
	in.close();
	out.closeEntry();
					
	if(this.deletFilesOnExit)
	{
		file.delete();
	}
}
out.close();
					
inputFile.delete();
outputFile.renameTo(new File(this.archiveOutputPath));


cu
luma
 

Luma

Bekanntes Mitglied
Öhhrm kann mir vielleicht jemand sagen, wie man das Kompressionslevel eines Archivs herrausfindet? Ich hab nämlich das Problem gefunden: Das neue Archiv muss genau das gleiche Level haben wie das alten, von dem die Dateien kommen. Nur wie findet man dieses herraus??
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Ordner im Archiv (jar) auslesen Allgemeine Java-Themen 12
F Laden von bestimmten Daten aus TAR Archiv Allgemeine Java-Themen 23
J PDF-Datei aus JAR-Archiv in Dateisystem kopieren Allgemeine Java-Themen 1
Seikuassi Input/Output ZipOutputStream erzeugt zu großes .zip-Archiv Allgemeine Java-Themen 3
V Input/Output Swing Icons in Jar Archiv laden Allgemeine Java-Themen 10
C jar Archiv im Programm aus dessen jar extrahieren Allgemeine Java-Themen 2
H JAVA-ARCHIV-PROBLEME - pls help :( Allgemeine Java-Themen 4
D auf Bilder im Jar-Archiv zugreifen Allgemeine Java-Themen 11
T jar Archiv auf Server ausführen Allgemeine Java-Themen 3
trash Das große Problem: .jar Archiv Allgemeine Java-Themen 19
multiholle Resourcen aus Jar-Archiv laden Allgemeine Java-Themen 5
D verschlüsseltes Archiv erstellen Allgemeine Java-Themen 5
Balbes Auf Datei im Dateisystem aus einem jar-Archiv zugreifen Allgemeine Java-Themen 4
B Jar-Archiv Allgemeine Java-Themen 3
B Film aus Java JAR-Archiv extrahieren Allgemeine Java-Themen 4
G ZIP Archiv auf Konsistenz prüfen Allgemeine Java-Themen 2
A Warum hab ich noch nie ein .jar Archiv gesehen? Allgemeine Java-Themen 5
X Klasse aus Jar Archiv laden Allgemeine Java-Themen 3
V Wie kann ich ein Bild in einem Zip Archiv abspeichern? Allgemeine Java-Themen 3
K Zugriff auf eine Datei in einem jar-Archiv Allgemeine Java-Themen 9
G IOExceptions nur bei jar Archiv Allgemeine Java-Themen 4
N Speichern von binären Dateien (Zip-Archiv) per Stream? Allgemeine Java-Themen 6
J Javabibliotheken in Jar- Archiv einbinden Allgemeine Java-Themen 5
G Testdatei im Jar archiv öffnen und reinschreiben Allgemeine Java-Themen 11
M dateien in einer zip datei hinzufügen - Archiv updaten Allgemeine Java-Themen 11
G jar archiv und native klassen (pfad angabe) Allgemeine Java-Themen 2
T jar - Archiv updaten Allgemeine Java-Themen 2
T Klassen samt Methoden aus Jar-Archiv laden macht Problem Allgemeine Java-Themen 9
E Konvertierungen und JAR-Archiv Allgemeine Java-Themen 4
D Jar-Archiv FAQ - Manifest.... Allgemeine Java-Themen 3
J Problem mit *.jar Archiv Allgemeine Java-Themen 5
J Icon für Jar-Archiv Allgemeine Java-Themen 2
J Problem mit .jar Archiv und Bilder Allgemeine Java-Themen 6
bummerland bilder im jar-archiv? Allgemeine Java-Themen 2
L Input/Output Email mit großer Pdf Anhang auslesen? Allgemeine Java-Themen 3
Ernesto95 HTTP Mit JavaScript erzeugte dynamische Webseite auslesen und nach einem Schlüsselwort durchsuchen Allgemeine Java-Themen 6
K Bildschirm auslesen/ Text erkennen Allgemeine Java-Themen 5
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
T INI - Einträge auslesen Allgemeine Java-Themen 6
H Auslesen eines (LDAP-)Attributs in Active Directory Allgemeine Java-Themen 2
O PDF auslesen und verändern, was ist besser iText oder PDFBox ? Allgemeine Java-Themen 9
Robertop Status von Caps- und NumLock auslesen Allgemeine Java-Themen 1
Master3000 Java Konsole über Buffered Reader Zeilenweise auslesen ? Allgemeine Java-Themen 26
G Mac Package auslesen Allgemeine Java-Themen 17
W Versionsnummer auslesen - Regex ist zickig Allgemeine Java-Themen 2
F Junit Test + Cucumber - JSON auslesen und in einem weiteren Schritt nutzen Allgemeine Java-Themen 0
M verschiedene Dokumente auslesen Allgemeine Java-Themen 1
Gaudimagspam CSV-Datei auslesen in Java Allgemeine Java-Themen 7
L Dateien richtig auslesen Allgemeine Java-Themen 6
F WireGuard Status auslesen Allgemeine Java-Themen 3
B .txt Datei erstellen und auslesen bzw. schreiben Allgemeine Java-Themen 6
I DOM-Parser - Element im Element an bestimmten Stellen auslesen Allgemeine Java-Themen 1
N Txt Datei auslesen. Allgemeine Java-Themen 5
O xlsx Datei auslesen mit POI Apache liest keine LEERZELLEN Allgemeine Java-Themen 6
O xlsx Datei auslesen mit POI von Apache wirft seltsamen Fehler. Allgemeine Java-Themen 11
J Information von getSource() Objekt auslesen Allgemeine Java-Themen 1
V EMail, Attachments auslesen von einer Email Allgemeine Java-Themen 0
K Aus String zwei Jahreszahlen auslesen Allgemeine Java-Themen 18
E CSV mit Text und Binärdaten auslesen Allgemeine Java-Themen 7
x46 Webseite in Java auslesen Allgemeine Java-Themen 2
M Html Seite auslesen Allgemeine Java-Themen 16
S Hilfe bei dem Auslesen einer YAML Datei Allgemeine Java-Themen 8
J Fenstergröße eines anderen Programmes auslesen Allgemeine Java-Themen 9
B Cookie auslesen Allgemeine Java-Themen 3
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
J Variablen Mehrere int-variablen in txt abspeichern und danach wieder auslesen Allgemeine Java-Themen 1
J Daten aus Website-Quelltext auslesen Allgemeine Java-Themen 62
J Teil einer URL auslesen Allgemeine Java-Themen 13
denny86 NetBeans Ordnernamen rekursiv auslesen und in Variable verarbeiten Allgemeine Java-Themen 38
C Atfx mit Hilfe von OpenAtfx auslesen Allgemeine Java-Themen 1
C Position von Pixeln in Bilder auslesen Allgemeine Java-Themen 2
M aktive WLAN Teilnehmer auslesen? Allgemeine Java-Themen 6
X JSONObject auslesen und in HashMap hinterlegen Allgemeine Java-Themen 16
S Kann man mit Java auf einem lokalen PC/Mac Benutzergruppen auslesen und Rechte ändern? Allgemeine Java-Themen 11
C Webseite auslesen Allgemeine Java-Themen 3
D Best Practice Gesamten Bildschirminhalt auslesen und Email schicken sobald kein Pixel sich ändert Allgemeine Java-Themen 11
A Erste Schritte Daten aus einer Website auslesen Allgemeine Java-Themen 7
J Bestimmte Zeile aus Textdatei auslesen Allgemeine Java-Themen 18
G Aus JTextField Zahlen auslesen und random generieren Allgemeine Java-Themen 10
M Tastatureingabe von Sondertasten auslesen Allgemeine Java-Themen 6
C Auslesen auslösen über Button-Click Allgemeine Java-Themen 8
M xlsx File auslesen Exception occured Allgemeine Java-Themen 13
U OOP Warum kann ich aus meiner Methode keinen String auslesen Allgemeine Java-Themen 4
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
4a61766120617274697374 PDF iText Wort Koordinaten auslesen Allgemeine Java-Themen 1
KeVoZ_ Bestimmte Zeile aus Console finden & auslesen Allgemeine Java-Themen 2
T Url aus txt Datei auslesen und öffnen? Allgemeine Java-Themen 4
N Werte aus Hashmap auslesen und übertragen Allgemeine Java-Themen 8
KeVoZ_ Properties mit String auslesen Allgemeine Java-Themen 11
I HTML einer Website auslesen liefert nur head Allgemeine Java-Themen 6
D Aktuell installierte Java Version auslesen unter Windows Allgemeine Java-Themen 5
M Parameter auslesen im Servlet Allgemeine Java-Themen 0
M Input/Output USB Geräteinstanzkennung auslesen Allgemeine Java-Themen 3
W 2D-Grafik Erstellungsdatum JPG direkt aus Header (EXIF) auslesen. Allgemeine Java-Themen 5
M Daten aus anderen Programmen auslesen Allgemeine Java-Themen 2
T Datei Byteweise auslesen Allgemeine Java-Themen 1
T Datentypen MNIST Datenbank auslesen (.gz) Allgemeine Java-Themen 0
T Ini Datei auslesen Allgemeine Java-Themen 3
J Temperatur aus bytes auslesen. Allgemeine Java-Themen 13

Ähnliche Java Themen

Neue Themen


Oben