Struct flate2::bufread::GzDecoder [] [src]

pub struct GzDecoder<R> { /* fields omitted */ }

A gzip streaming decoder

This structure exposes a ReadBuf interface that will consume compressed data from the underlying reader and emit uncompressed data.

Examples

use std::io::prelude::*;
use std::io;
use flate2::bufread::GzDecoder;

// Uncompresses a Gz Encoded vector of bytes and returns a string or error
// Here &[u8] implements BufRead

fn decode_reader(bytes: Vec<u8>) -> io::Result<String> {
   let mut gz = GzDecoder::new(&bytes[..])?;
   let mut s = String::new();
   gz.read_to_string(&mut s)?;
   Ok(s)
}

Methods

impl<R: BufRead> GzDecoder<R>
[src]

[src]

Creates a new decoder from the given reader, immediately parsing the gzip header.

Errors

If an error is encountered when parsing the gzip header, an error is returned.

impl<R> GzDecoder<R>
[src]

[src]

Returns the header associated with this stream.

[src]

Acquires a reference to the underlying reader.

[src]

Acquires a mutable reference to the underlying stream.

Note that mutation of the stream may result in surprising results if this encoder is continued to be used.

[src]

Consumes this decoder, returning the underlying reader.

Trait Implementations

impl<R: Debug> Debug for GzDecoder<R>
[src]

[src]

Formats the value using the given formatter.

impl<R: BufRead> Read for GzDecoder<R>
[src]

[src]

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

[src]

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

1.0.0
[src]

Read all bytes until EOF in this source, placing them into buf. Read more

1.0.0
[src]

Read all bytes until EOF in this source, placing them into buf. Read more

1.6.0
[src]

Read the exact number of bytes required to fill buf. Read more

1.0.0
[src]

Creates a "by reference" adaptor for this instance of Read. Read more

1.0.0
[src]

Transforms this Read instance to an [Iterator] over its bytes. Read more

[src]

🔬 This is a nightly-only experimental API. (io)

the semantics of a partial read/write of where errors happen is currently unclear and may change

Transforms this Read instance to an [Iterator] over [char]s. Read more

1.0.0
[src]

Creates an adaptor which will chain this stream with another. Read more

1.0.0
[src]

Creates an adaptor which will read at most limit bytes from it. Read more

impl<R: BufRead + Write> Write for GzDecoder<R>
[src]

[src]

Write a buffer into this object, returning how many bytes were written. Read more

[src]

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

1.0.0
[src]

Attempts to write an entire buffer into this write. Read more

1.0.0
[src]

Writes a formatted string into this writer, returning any error encountered. Read more

1.0.0
[src]

Creates a "by reference" adaptor for this instance of Write. Read more