# Zippen mittels Java



## hesk (30. März 2011)

Was ist momentan die beste Art um mittels Java viele Datein zu zippen?

Bei einem alten Programm wird

java.util.zip.ZipEntry;
java.util.zip.ZipFile;
java.util.zip.ZipOutputStream;

verwendet...sind die noch immer die beste Lösung?

Vielen Dank


----------



## genodeftest (30. März 2011)

Mir ist nichts neueres bekannt.


----------



## RoCMe (31. März 2011)

Hallo!

Es gibt noch ein apache commons Projekt, das sich mit diesem Thema beschäftigt:
http://commons.apache.org/compress/zip.html
Ich habe das irgendwann mal benötigt, als ich Probleme mit Umlauten in Dateinamen innerhalb des Zip-Files hatte. (Umlaute sind böse, fiese Wesen, ohne die aber leider kaum eine Sprache auskommt  )

Und vor einiger Zeit habe ich von einem Projekt gelesen, das zum Zippen die Klasse File erweitert hat - damit konnte man sehr bequem zip Files erstellen... Aber dazu finde ich den Link gerade nicht wieder...

mfg,

RoCMe


----------



## hesk (27. Juli 2011)

Hallo nochmal!

Momentan verwende ich folgendes:


```
FileInputStream fi;
                
fi = new FileInputStream( addingFile );
BufferedInputStream origin = new BufferedInputStream(fi, BUFFER);
ZipEntry entry = new ZipEntry( rootName + file );
zipOutputStream.putNextEntry(entry);
                
int count;
byte data[] = new byte[BUFFER];
                
while((count = origin.read(data, 0, BUFFER)) != -1) 
        zipOutputStream.write(data, 0, count);
                
origin.close();
fi.close();
```

Bei ca 50.000 Dateien mit insgesamt 2GB dauert es ziemlich lange. 
Gibt es eine schnelere Möglichkeit?

Danke!


----------



## Akeshihiro (27. Juli 2011)

Bei 2GB, und vor allem wenn diese dann auch noch auf 50k Dateien verteilt sind, dauert das Packen immer lange  Was erwartest du für eine Verbesserung?


----------



## hesk (27. Juli 2011)

Momentan braucht er ca 25min. Ich dachte es gibt einfach etwas schnelleres


----------



## Akeshihiro (27. Juli 2011)

Wie lange würde es denn mit einem externen Tool wie WinRAR, I-Zarc, etc. dauern? Wenn die auch so lange brauchen, dann sinken die Chancen natürlich, was aber nicht heißen soll, dass es unmöglich ist.


----------



## genodeftest (27. Juli 2011)

xz oder lz wären wahrscheinlich schneller (und besser), aber ich kenne keine Packer/Entpacker dafür, die in Java geschrieben sind.


----------

