Unterordner mit zippen

LucasW

Mitglied
Guten Tag, wie bekomme ich es hin, dass meine Unterordner mit gezippt werden?
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();
          }
       }
 

Zurück
Oben