Package sos.util

Source Code of sos.util.SOSGZip

/********************************************************* begin of preamble
**
** Copyright (C) 2003-2010 Software- und Organisations-Service GmbH.
** All rights reserved.
**
** This file may be used under the terms of either the
**
**   GNU General Public License version 2.0 (GPL)
**
**   as published by the Free Software Foundation
**   http://www.gnu.org/licenses/gpl-2.0.txt and appearing in the file
**   LICENSE.GPL included in the packaging of this file.
**
** or the
** 
**   Agreement for Purchase and Licensing
**
**   as offered by Software- und Organisations-Service GmbH
**   in the respective terms of supply that ship with this file.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
** IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
** THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
** BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
** POSSIBILITY OF SUCH DAMAGE.
********************************************************** end of preamble*/
package sos.util;


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.BufferedInputStream;
import java.io.File;
import java.util.zip.GZIPOutputStream;
import java.util.zip.GZIPInputStream;

/**
* <p>Title: </p>
* <p>Description: Java GZip client</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: SOS GmbH</p>
* @author <a href="mailto:ghassan.beydoun@sos-berlin.com">Ghassan Beydoun</a>
* @version $Id: SOSGZip.java 6076 2010-03-05 13:03:22Z mo $
*/


public class SOSGZip {
 
  /**
   * @param inputFile
   * @param outputFile
   * @exception FileNotFoundException, IOException
   */
  public static void compressFile(
      File inputFile, File outputFile ) throws
      Exception {
   
   
    BufferedInputStream in = null;
    GZIPOutputStream out = null;
   
    try {
     
      in = new BufferedInputStream( new FileInputStream(inputFile));
     
      out = new GZIPOutputStream( new FileOutputStream(outputFile));
     
      byte buffer[] = new byte[1024];
      int bytesRead;
      while ( (bytesRead = in.read(buffer)) != -1) {
        out.write(buffer, 0, bytesRead);
      }
     
    }  catch (Exception e) {
      throw e;
    } finally {
      try { in.close(); } catch( Exception e) {}
      try { out.close(); } catch( Exception e) {}
    }
  }
 
 
  /**
   * @param fileInputStream
   * @param outputFile
   * @exception FileNotFoundException, IOException
   */
  public static void compressFile(
      FileInputStream fileInputStream, File outputFile ) throws
      Exception {
   
    BufferedInputStream in = null;
    GZIPOutputStream out = null;
    try {
     
      in = new BufferedInputStream(fileInputStream);
     
      out = new GZIPOutputStream( new FileOutputStream(outputFile));
     
      byte buffer[] = new byte[1024];
      int bytesRead;
      while ( (bytesRead = in.read(buffer)) != -1) {
        out.write(buffer, 0, bytesRead);
      }
    }  catch (Exception e) {
      throw e;
    } finally {
      try { in.close(); } catch( Exception e) {}
      try { out.close(); } catch( Exception e) {}
    }
  }
 
  /**
   * Decomprimiert die Archivdatei
   * @param inFilename
   * @throws Exception
   */
  public static void decompress(String inFilename) throws  Exception{
    decompress(inFilename, null);
  }
 
  /**
   * Decomprimiert die Archivdatei
   * @param inFilename
   * @param outFilename
   * @throws Exception
   */
  public static void decompress(String inFilename, String outFilename) throws  Exception{
    try {
      if(outFilename == null) {
        outFilename = inFilename.substring(0, inFilename.lastIndexOf("."));
      }
     
      GZIPInputStream in = new GZIPInputStream(new FileInputStream(inFilename));
     
      java.io.OutputStream out = new FileOutputStream(outFilename);
     
     
      byte[] buf = new byte[1024];
      int len;
      while ((len = in.read(buf)) > 0) {
        out.write(buf, 0, len);
      }
     
      in.close();
      out.close();
    } catch (Exception e) {
      throw e;
    }
   
  }
 
  public static void main(String[] args) {
    try {
      compressFile(new File("C:/temp/a.txt"), new File("C:/temp/a.gz"));
     
      //decompress("C:/temp/a/RDN_20070511_000001.tar.gz", null);
    } catch(Exception e) {
      System.out.println(e);
    }
  }
}
TOP

Related Classes of sos.util.SOSGZip

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.