Thursday, 24 November 2016

Java Tutorial : Java IO (Java File - How to decompress files from a ZIP file - unzip)


Click here to watch in Youtube :
https://www.youtube.com/watch?v=zh3oIfgqWBA&list=UUhwKlOVR041tngjerWxVccw

Click the below Image to Enlarge
Java Tutorial : Java IO (Java File - How to decompress files from a ZIP file - unzip) 
Java Tutorial : Java IO (Java File - How to decompress files from a ZIP file - unzip) 
UnZipDemo.java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public class UnZipDemo
{
    private static final String INPUT_ZIP_FILE = "D:/work/Java.zip";
    private static final String OUTPUT_FOLDER = "D:/work/java";

    public static void main(String[] args) throws IOException
    {
        UnZipDemo unZipDemo = new UnZipDemo();
        unZipDemo.unZip(INPUT_ZIP_FILE, OUTPUT_FOLDER);
    }

    public void unZip(String zipFile, String outputFolder) throws IOException
    {

        createDir(outputFolder);

        /*
         * If the Streams are within the
         * "try-With-Resources" block, then it will be
         * closed automatically.
         */
        try (
                // Get the zip file content
                ZipInputStream zis = new ZipInputStream(new FileInputStream(
                                                                        zipFile)))
        {
            // Get the zipped file list entry
            ZipEntry ze = zis.getNextEntry();
            byte[] buffer = new byte[1024];
            while (ze != null)
            {

                String fileName = ze.getName();
                File newFile = new File(outputFolder + File.separator
                                                                + fileName);

                System.out.println("file unzip : " + newFile.getAbsoluteFile());

                /*
                 * Create all non exists folders
                 */
                new File(newFile.getParent()).mkdirs();

                FileOutputStream fos = new FileOutputStream(newFile);

                int len;
                while ((len = zis.read(buffer)) > 0)
                {
                    fos.write(buffer, 0, len);
                }

                fos.close();
                ze = zis.getNextEntry();
            }

            zis.closeEntry();

            System.out.println("Unzip is completed..");
        }

    }

    private void createDir(String outputFolder)
    {
        /*
         * Create output directory is not exists
         */
        File folder = new File(outputFolder);
        if (!folder.exists())
        {
            folder.mkdir();
        }
    }
}
Output
file unzip : D:\work\java\CityInfoDemo\.classpath
file unzip : D:\work\java\CityInfoDemo\.project
file unzip : D:\work\java\CityInfoDemo\.settings\.jsdtscope
---
---
file unzip : D:\work\java\CityInfoDemo\WebContent\WEB-INF\web.xml
Unzip is completed..

Refer:
https://docs.oracle.com/javase/8/docs/api/index.html?java/util/zip/ZipInputStream.html

Click the below link to download the code:
https://sites.google.com/site/ramj2eev1/home/javabasics/JavaIODemo_unzip_dir_App.zip?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/JavaIODemo_unzip_dir_App

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/97750dcb5a5d126b3956b792a4fc850ca4dd67ca/BasicJava/JavaIODemo_unzip_dir_App/?at=master

See also:

  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • No comments:

    Post a Comment