Guten Tag, wie bekomme ich es hin, dass meine Unterordner mit gezippt werden?
Vielen Dank für eure Hilfe!
Vielen Dank für eure Hilfe!
Code:
public void zip(String string)
{
JFrame m = new JFrame("Zipvorgang");
m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
m.setSize(500, 250);
m.setVisible(true);
JTextArea jTextArea = new JTextArea();
m.add(jTextArea);
try {
BufferedInputStream origin = null;
FileOutputStream dest = new FileOutputStream("C:\\Users\\werner\\Desktop\\ZipOrdner.zip");
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest));
//out.setMethod(ZipOutputStream.DEFLATED);
byte data[] = new byte[BUFFER];
// get a list of files from current directory
File f = new File("C:\\Users\\werner\\Desktop\\Testordner");
jTextArea.append(f.getAbsolutePath()+"\n");
if(f.exists())
{
jTextArea.append("Datei exisitiert: " + f + "\n");
}
File files[] = f.listFiles();
for (int i=0; i< files.length; i++)
{
//Überprüfung ob Unterordner exisitiert
if(files[i].isDirectory())
{
jTextArea.append("Unterordner existiert: "+ files[i] + "\n");
}
//Zippen von Dateien innerhalb des Mutterordners
else
{
jTextArea.append("Adding: "+files[i] + "\n");
FileInputStream fi = new FileInputStream(files[i]);
origin = new BufferedInputStream(fi, BUFFER);
ZipEntry entry = new ZipEntry(files[i].getName());
out.putNextEntry(entry);
int count;
while((count = origin.read(data, 0, BUFFER)) != -1)
{
out.write(data, 0, count);
}
origin.close();
}
}
out.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}