Java Unzip File decompressGzip(File src, File trgt)

Here you can find the source of decompressGzip(File src, File trgt)

Description

decompress Gzip

License

Open Source License

Declaration

public static void decompressGzip(File src, File trgt) throws IOException 

Method Source Code

//package com.java2s;
/**//from   w w w.  ja  va  2  s. c  o  m
 * File: $HeadURL: https://hdt-java.googlecode.com/svn/trunk/hdt-java/src/org/rdfhdt/hdt/util/io/IOUtil.java $
 * Revision: $Rev: 194 $
 * Last modified: $Date: 2013-03-04 21:30:01 +0000 (lun, 04 mar 2013) $
 * Last modified by: $Author: mario.arias $
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library 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
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * Contacting the authors:
 *   Mario Arias:               mario.arias@deri.org
 *   Javier D. Fernandez:       jfergar@infor.uva.es
 *   Miguel A. Martinez-Prieto: migumar2@infor.uva.es
 *   Alejandro Andres:          fuzzy.alej@gmail.com
 */

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.zip.GZIPInputStream;

public class Main {
    public static void decompressGzip(File src, File trgt) throws IOException {
        InputStream in = new GZIPInputStream(new BufferedInputStream(new FileInputStream(src)));
        try {
            OutputStream out = new BufferedOutputStream(new FileOutputStream(trgt));

            try {
                copyStream(in, out);
            } finally {
                out.close();
            }
        } finally {
            in.close();
        }
    }

    public static void copyStream(InputStream in, OutputStream out) throws IOException {
        byte[] buffer = new byte[1024 * 1024];
        int len;
        while ((len = in.read(buffer)) != -1) {
            out.write(buffer, 0, len);
        }
    }

    public static void copyStream(InputStream in, OutputStream out, long n) throws IOException {
        byte[] buffer = new byte[1024 * 1024];
        int len = (int) (buffer.length < n ? buffer.length : n);
        long total = 0;

        while ((total < n) && (len = in.read(buffer, 0, len)) != -1) {
            out.write(buffer, 0, len);

            total += len;
            len = (int) (total + buffer.length > n ? n - total : buffer.length);
        }
    }
}

Related

  1. decompress(String zipFile, String targetPath)
  2. decompresses(File file, File destinationDirectory)
  3. decompressFile(File destFile, ZipInputStream zis)
  4. decompressFile(final File toDecompress, final File destinationFile)
  5. decompressFile(String inName)
  6. uncompress(ByteArrayInputStream bais)
  7. uncompress(File zipFile, File folder)
  8. uncompress(final InputStream inputStream)
  9. uncompress(final String zipFileName, final String directory)