View Javadoc
1   package org.davidmoten.io.extras;
2   
3   import java.io.IOException;
4   import java.io.InputStream;
5   import java.io.OutputStream;
6   import java.util.zip.GZIPInputStream;
7   import java.util.zip.GZIPOutputStream;
8   
9   import org.davidmoten.io.extras.internal.TransformedInputStream;
10  
11  public final class IOUtil {
12  
13      private static final int DEFAULT_BUFFER_SIZE = 8192;
14  
15      private IOUtil() {
16          // prevent instantiation
17      }
18  
19      public static InputStream pipe(InputStream is, IOFunction<? super OutputStream, ? extends OutputStream> transform,
20              int bufferSize) throws IOException {
21          return new TransformedInputStream(is, transform, bufferSize);
22      }
23  
24      public static InputStream pipe(InputStream is, IOFunction<? super OutputStream, ? extends OutputStream> transform)
25              throws IOException {
26          return pipe(is, transform, DEFAULT_BUFFER_SIZE);
27      }
28  
29      public static InputStream gzip(InputStream is) throws IOException {
30          return pipe(is, o -> new GZIPOutputStream(o));
31      }
32  
33      public static InputStream gunzip(InputStream is) throws IOException {
34          return new GZIPInputStream(is);
35      }
36  
37  }