]> git.proxmox.com Git - rustc.git/blob - vendor/flate2/examples/gzencoder-bufread.rs
3d57cd1d5f9e246f28c526ab4da57234276eed40
[rustc.git] / vendor / flate2 / examples / gzencoder-bufread.rs
1 extern crate flate2;
2
3 use std::io::prelude::*;
4 use std::io;
5 use flate2::Compression;
6 use flate2::bufread::GzEncoder;
7 use std::fs::File;
8 use std::io::BufReader;
9
10 // Open file and debug print the contents compressed with gzip
11 fn main() {
12 println!("{:?}", open_hello_world().unwrap());
13 }
14
15 // Opens sample file, compresses the contents and returns a Vector or error
16 // File wrapped in a BufReader implements Bufread
17 fn open_hello_world() -> io::Result<Vec<u8>> {
18 let f = File::open("examples/hello_world.txt")?;
19 let b = BufReader::new(f);
20 let mut gz = GzEncoder::new(b, Compression::fast());
21 let mut buffer = Vec::new();
22 gz.read_to_end(&mut buffer)?;
23 Ok(buffer)
24 }