GunZip-Kommandozeilenprogramm in Java

package com.tutego.insel.io.zip;

import java.io.*;
import java.nio.file.*;
import java.util.zip.GZIPInputStream;

public class gunzip {

  public static void main( String[] args ) {
    if ( args.length != 1 ) {
      System.err.println( "Benutzung: gunzip <source>" );
      return;
    }

    String filename = args[ 0 ];
    Path srcPath, destPath;

    if ( filename.toLowerCase().endsWith( ".gz" ) ) {
      srcPath  = Paths.get( filename );
      destPath = Paths.get( filename.replaceAll( "\\\\.gz$", "" ) );
    }
    else {
      srcPath  = Paths.get( filename + ".gz" );
      destPath = Paths.get( filename );
    }

    try ( InputStream is  = new GZIPInputStream( Files.newInputStream( srcPath ) ) ) {
      Files.copy( is, destPath );
    }
    catch ( IOException e ) {
      System.err.println( "Fehler: Kann nicht entpacken " + filename );
    }
  }
}

Über Christian Ullenboom

Ich bin Christian Ullenboom und Autor der Bücher ›Java ist auch eine Insel. Einführung, Ausbildung, Praxis‹ und ›Java SE 8 Standard-Bibliothek. Das Handbuch für Java-Entwickler‹. Seit 1997 berate ich Unternehmen im Einsatz von Java. Sun ernannte mich 2005 zum ›Java-Champion‹.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.