internal DeflateStream (Stream compressedStream, CompressionMode mode, bool leaveOpen, bool gzip) { if (compressedStream == null) throw new ArgumentNullException ("compressedStream"); switch (mode) { case CompressionMode.Compress: if (!compressedStream.CanWrite) throw new ArgumentException ("The base stream is not writeable."); OutputStream outStream = new OutputStreamImpl(compressedStream); _writer = gzip ? new GZIPOutputStream (outStream) : new DeflaterOutputStream (outStream, new Deflater (Deflater.DEFAULT_COMPRESSION, true)); break; case CompressionMode.Decompress: if (!compressedStream.CanRead) throw new ArgumentException ("The base stream is not readable."); InputStream inStream = new InputStreamImpl (compressedStream); _reader = gzip ? new GZIPInputStream (inStream) : new InflaterInputStream (inStream, new Inflater (true)); break; default: throw new ArgumentException ("mode"); } _baseStream = compressedStream; _leaveOpen = leaveOpen; _open = true; }
internal DeflateStream(Stream compressedStream, CompressionMode mode, bool leaveOpen, bool gzip) { if (compressedStream == null) { throw new ArgumentNullException("compressedStream"); } switch (mode) { case CompressionMode.Compress: if (!compressedStream.CanWrite) { throw new ArgumentException("The base stream is not writeable."); } OutputStream outStream = new OutputStreamImpl(compressedStream); _writer = gzip ? new GZIPOutputStream(outStream) : new DeflaterOutputStream(outStream, new Deflater(Deflater.DEFAULT_COMPRESSION, true)); break; case CompressionMode.Decompress: if (!compressedStream.CanRead) { throw new ArgumentException("The base stream is not readable."); } InputStream inStream = new InputStreamImpl(compressedStream); _reader = gzip ? new GZIPInputStream(inStream) : new InflaterInputStream(inStream, new Inflater(true)); break; default: throw new ArgumentException("mode"); } _baseStream = compressedStream; _leaveOpen = leaveOpen; _open = true; }