1*21943e31SAndroid Build Coastguard Worker /* 2*21943e31SAndroid Build Coastguard Worker * XZEncDemo 3*21943e31SAndroid Build Coastguard Worker * 4*21943e31SAndroid Build Coastguard Worker * Author: Lasse Collin <[email protected]> 5*21943e31SAndroid Build Coastguard Worker * 6*21943e31SAndroid Build Coastguard Worker * This file has been put into the public domain. 7*21943e31SAndroid Build Coastguard Worker * You can do whatever you want with this file. 8*21943e31SAndroid Build Coastguard Worker */ 9*21943e31SAndroid Build Coastguard Worker 10*21943e31SAndroid Build Coastguard Worker import java.io.*; 11*21943e31SAndroid Build Coastguard Worker import org.tukaani.xz.*; 12*21943e31SAndroid Build Coastguard Worker 13*21943e31SAndroid Build Coastguard Worker /** 14*21943e31SAndroid Build Coastguard Worker * Compresses a single file from standard input to standard ouput into 15*21943e31SAndroid Build Coastguard Worker * the .xz file format. 16*21943e31SAndroid Build Coastguard Worker * <p> 17*21943e31SAndroid Build Coastguard Worker * One optional argument is supported: LZMA2 preset level which is an integer 18*21943e31SAndroid Build Coastguard Worker * in the range [0, 9]. The default is 6. 19*21943e31SAndroid Build Coastguard Worker */ 20*21943e31SAndroid Build Coastguard Worker class XZEncDemo { main(String[] args)21*21943e31SAndroid Build Coastguard Worker public static void main(String[] args) throws Exception { 22*21943e31SAndroid Build Coastguard Worker LZMA2Options options = new LZMA2Options(); 23*21943e31SAndroid Build Coastguard Worker 24*21943e31SAndroid Build Coastguard Worker if (args.length >= 1) 25*21943e31SAndroid Build Coastguard Worker options.setPreset(Integer.parseInt(args[0])); 26*21943e31SAndroid Build Coastguard Worker 27*21943e31SAndroid Build Coastguard Worker System.err.println("Encoder memory usage: " 28*21943e31SAndroid Build Coastguard Worker + options.getEncoderMemoryUsage() + " KiB"); 29*21943e31SAndroid Build Coastguard Worker System.err.println("Decoder memory usage: " 30*21943e31SAndroid Build Coastguard Worker + options.getDecoderMemoryUsage() + " KiB"); 31*21943e31SAndroid Build Coastguard Worker 32*21943e31SAndroid Build Coastguard Worker XZOutputStream out = new XZOutputStream(System.out, options); 33*21943e31SAndroid Build Coastguard Worker 34*21943e31SAndroid Build Coastguard Worker byte[] buf = new byte[8192]; 35*21943e31SAndroid Build Coastguard Worker int size; 36*21943e31SAndroid Build Coastguard Worker while ((size = System.in.read(buf)) != -1) 37*21943e31SAndroid Build Coastguard Worker out.write(buf, 0, size); 38*21943e31SAndroid Build Coastguard Worker 39*21943e31SAndroid Build Coastguard Worker out.finish(); 40*21943e31SAndroid Build Coastguard Worker } 41*21943e31SAndroid Build Coastguard Worker } 42