Exemple #1
0
		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;
		}
Exemple #2
0
        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;
        }