GlueGen v2.6.0-rc-20250712
GlueGen, Native Binding Generator for Java™ (public API).
CustomInflate.java
Go to the documentation of this file.
1/**
2 * Copyright 2015 JogAmp Community. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without modification, are
5 * permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice, this list of
8 * conditions and the following disclaimer.
9 *
10 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
11 * of conditions and the following disclaimer in the documentation and/or other materials
12 * provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
15 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
21 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
22 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 *
24 * The views and conclusions contained in the software and documentation are those of the
25 * authors and should not be interpreted as representing official policies, either expressed
26 * or implied, of JogAmp Community.
27 */
28package com.jogamp.common.util;
29
30import java.io.File;
31import java.io.FileInputStream;
32import java.io.FileOutputStream;
33import java.io.IOException;
34import java.io.InputStream;
35import java.io.OutputStream;
36
37public class CustomInflate {
38 public static final int magic = 0xDEF1A7E0;
39
40 public static void main(final String[] args) {
41 if (args.length != 2) {
42 System.err.println("Usage: java "+CustomCompress.class.getName()+" file-in file-out");
43 } else {
44 InputStream in = null;
45 OutputStream out = null;
46 try {
47 final File fileIn = new File(args[0]);
48 in = new FileInputStream(fileIn);
49
50 final byte[] output = CustomCompress.inflateFromStream(in);
51
52 final File fileOut = new File(args[1]);
53 out = new FileOutputStream(fileOut);
54 out.write(output, 0, output.length);
55 out.flush();
56 } catch (final IOException ioe) {
57 ioe.printStackTrace();
58 } finally {
59 if( null != in ) {
60 try { in.close(); } catch (final IOException e) { }
61 }
62 if( null != out ) {
63 try { out.close(); } catch (final IOException e) { }
64 }
65 }
66 }
67 }
68}
All in memory inflater / deflator for small chunks using streams.
static byte[] inflateFromStream(final InputStream in)
static void main(final String[] args)