title: Cannot create zip file in java using zip4j
body: <p>I am using java to create a zip file, but I cannot get any code to work.
  I tried many more ways specific to java 7 and java 8, but all of them show some kind of error, is there a mistake in my code or it needs improvements?</p>
  
  <pre><code>            File destination = null;
              JFileChooser chooser1 = new JFileChooser();
              chooser1.setDialogTitle("Select a directory with APK file contents");
              chooser1.setCurrentDirectory(new java.io.File("."));
              chooser1.setAcceptAllFileFilterUsed(false);
              chooser1.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
              int returnVal = chooser1.showOpenDialog(getParent());
              if (returnVal == JFileChooser.APPROVE_OPTION) {
                  destination = chooser1.getSelectedFile();
                  JFileChooser chooser2 = new JFileChooser();
                  FileNameExtensionFilter filter = new FileNameExtensionFilter("APK Files", "apk");
                  chooser2.setFileFilter(filter);
                  chooser2.setDialogTitle("Save APK as");
                  int userSelection = chooser2.showSaveDialog(parentFrame);
                  if (userSelection == JFileChooser.APPROVE_OPTION) {
                      File apksavedestination = chooser2.getSelectedFile();
                      String apkname = chooser2.getSelectedFile().getName() + ".apk";
                      String zipFile = apksavedestination + apkname;
                      String zipfileSource = destination.getAbsolutePath();
  
                      try {
                          ZipFile zipFileAtLast = new ZipFile(zipFile);
                          ArrayList&lt;File&gt; inFolder = new ArrayList&lt;File&gt;();
                          inFolder.add(new File(destination.getAbsolutePath()));
                          ZipParameters parameters = new ZipParameters();
                          parameters.setIncludeRootFolder(false);
                          parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
                          parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
                          zipFileAtLast.addFolder(inFolder, parameters);
                      } catch (ZipException e1) {
                          e1.printStackTrace();
                      }
  </code></pre>
  
  <p>I get an error at this line <code>zipFileAtLast.addFolder(inFolder, parameters);</code></p>
  
  <p>Please guide me :)</p>
  
  <blockquote>
    <p>Errors while runtime:</p>
    
    <p>Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved
    compilation problem:      The method addFolder(ArrayList,
    ZipParameters) is undefined for the type ZipFile</p>
    
    <p>at dpcs.Interface$3.actionPerformed(Interface.java:143)     at
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at
    javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
      at
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at
    javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6535)    at
    javax.swing.JComponent.processMouseEvent(JComponent.java:3324)    at
    java.awt.Component.processEvent(Component.java:6300)  at
    java.awt.Container.processEvent(Container.java:2236)  at
    java.awt.Component.dispatchEventImpl(Component.java:4891)     at
    java.awt.Container.dispatchEventImpl(Container.java:2294)     at
    java.awt.Component.dispatchEvent(Component.java:4713)     at
    java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at
    java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)    at
    java.awt.Window.dispatchEventImpl(Window.java:2750)   at
    java.awt.Component.dispatchEvent(Component.java:4713)     at
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)    at
    java.awt.EventQueue.access$500(EventQueue.java:97)    at
    java.awt.EventQueue$3.run(EventQueue.java:709)    at
    java.awt.EventQueue$3.run(EventQueue.java:703)    at
    java.security.AccessController.doPrivileged(Native Method)    at
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)   at
    java.awt.EventQueue$4.run(EventQueue.java:729)    at
    java.security.AccessController.doPrivileged(Native Method)    at
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)   at
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at
    java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)</p>
  </blockquote>