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]
[]

Important traits for GzDecoder<R>
[]

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

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

[]

Returns the header associated with this stream, if it was valid

Important traits for &'a mut R
[]

Acquires a reference to the underlying reader.

Important traits for &'a mut R
[]

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.

[]

Consumes this decoder, returning the underlying reader.

Trait Implementations

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

[]

Formats the value using the given formatter. Read more

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

[]

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

[]

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

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

[]

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

[]

Read all bytes until EOF in this source, appending them to buf. Read more

[]

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

Important traits for &'a mut R
[]

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

Important traits for Bytes<R>
[]

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

Important traits for Chars<R>
[]

Deprecated since 1.27.0

: Use str::from_utf8 instead: https://doc.rust-lang.org/nightly/std/str/struct.Utf8Error.html#examples

🔬 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

Important traits for Chain<T, U>
[]

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

Important traits for Take<T>
[]

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

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

[]

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

[]

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

[]

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

[]

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

Important traits for &'a mut R
[]

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

Auto Trait Implementations

impl<R> Send for GzDecoder<R> where
    R: Send

impl<R> Sync for GzDecoder<R> where
    R: Sync