Source Code : Unzipps a zip file placed at zipURL to path

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Unzipps a zip file placed at zipURL to path

       
/**
 * Copyright (c) 2003 Daffodil Software Ltd all rights reserved.
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 * There are special exceptions to the terms and conditions of the GPL
 * as it is applied to this software. See the GNU General Public License for more details.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */


import java.io.*;
import java.util.zip.*;


/**
 * This class is used to make zip file of the XML file,BLOB.lob and CLOB.lob
 * so that compacted files can be transferred over the network. Besides it, this
 * class contains method for unzipping it.
 */

public class ZipHandler
{

    /**
     * makes a zip file named <xmlFileName> from <xmlURL> at path <zipURL>
     * @param zipURL
     * @param xmlURL
     * @param xmlFileName
     */


    public static void makeZip(String zipURL, String xmlURL, String xmlFileName) throws
       IOException
   {
       FileOutputStream fos = new FileOutputStream(new File(zipURL));
       ZipOutputStream zos = new ZipOutputStream(fos);
//         zos.setLevel();
       FileInputStream fis = new FileInputStream(xmlURL);
       zos.putNextEntry(new ZipEntry(xmlFileName+".xml"));
       writeInOutputStream(fis,zos);
       String bpath = "c:\";
       FileInputStream fisBLOB = createInputStream(bpath);
       zos.putNextEntry(new ZipEntry("blob.lob"));
       writeInOutputStream(fisBLOB, zos);

       zos.closeEntry();
       String cpath = "c:\";
       FileInputStream fisCLOB = createInputStream(cpath);
       zos.putNextEntry(new ZipEntry("clob.lob"));
       writeInOutputStream(fisCLOB, zos);
       zos.closeEntry();
       fis.close();
       fisCLOB.close();
       fisBLOB.close();
       zos.close();
       fos.close();

   }


    /**
     * unzipps a zip file placed at <zipURL> to path <xmlURL>
     * @param zipURL
     * @param xmlURL
     */
    public static void unZip(String zipURL, String xmlURL) throws IOException
    {
        FileOutputStream fosBLOB = new FileOutputStream(new File("c:\"));
        FileOutputStream fosCLOB = new FileOutputStream(new File("c:\"));
        FileInputStream fis = new FileInputStream(new File(zipURL));
        ZipInputStream zis = new ZipInputStream(fis);
        FileOutputStream fos = new FileOutputStream(xmlURL);
        ZipEntry ze = zis.getNextEntry();
        ExtractZip(zis, fos, fosBLOB, fosCLOB, ze);
        ze = zis.getNextEntry();
        ExtractZip(zis, fos, fosBLOB, fosCLOB, ze);
        ze = zis.getNextEntry();
        ExtractZip(zis, fos, fosBLOB, fosCLOB, ze);
        fos.flush();
        fis.close();
        fos.close();
        fosCLOB.close();
        fosBLOB.close();
        zis.close();
        }

    private static void ExtractZip(ZipInputStream zis, FileOutputStream fos,
                                   FileOutputStream fosBLOB,
                                   FileOutputStream fosCLOB, ZipEntry ze) throws
        IOException {
        if (ze.getName().equalsIgnoreCase("blob.lob"))
          writeInOutputStream(zis, fosBLOB);
        else if (ze.getName().equalsIgnoreCase("clob.lob"))
        writeInOutputStream(zis, fosCLOB);
        else
          writeInOutputStream(zis, fos);
        }

    private static void writeInOutputStream(InputStream is,
                                            OutputStream os) throws
        IOException {
            byte[] buf = new byte[1024];
            int len = 0;
      while ( (len = is.read(buf)) > 0)
            {
          os.write(buf, 0, len);
            }
        }

    /**
     * makes a zip file named <xmlFileName> from <xmlURL> at path <zipURL>
     * @param zipURL
     * @param xmlURL
     * @param xmlFileName
     */

    public static void makeStructZip(String zipURL, String xmlURL, String xmlFileName) throws
        IOException
        {
        FileOutputStream fos = new FileOutputStream(new File(zipURL));
        ZipOutputStream zos = new ZipOutputStream(fos);
//         zos.setLevel();
        FileInputStream fis = new FileInputStream(xmlURL);
        zos.putNextEntry(new ZipEntry(xmlFileName+".xml"));
        writeInOutputStream(fis,zos);
        zos.closeEntry();
        fis.close();
        zos.close();
            }

    /**
     * unzipps a zip file placed at <zipURL> to path <xmlURL>
     * @param zipURL
     * @param xmlURL
     */
    public static void unStructZip(String zipURL, String xmlURL) throws IOException
        {
        FileInputStream fis = new FileInputStream(new File(zipURL));
        ZipInputStream zis = new ZipInputStream(fis);
        FileOutputStream fos = new FileOutputStream(xmlURL);
        ZipEntry ze = zis.getNextEntry();
        writeInOutputStream(zis,fos);
        fos.flush();
        fis.close();
        fos.close();
        zis.close();
    }

    private static FileInputStream createInputStream(String bpath) throws IOException{
      FileInputStream fis = null;
      try
      {
          fis = new FileInputStream(bpath);
      }
      catch (FileNotFoundException ex)
      {
          FileOutputStream temp = new FileOutputStream(bpath);
          fis = new FileInputStream(bpath);
      }
      return fis;
    }
}

   
    
    
    
    
    
    
  

Thank with us