25 lines
690 B
Rust
25 lines
690 B
Rust
extern crate flate2;
|
|
|
|
use flate2::bufread::ZlibEncoder;
|
|
use flate2::Compression;
|
|
use std::fs::File;
|
|
use std::io;
|
|
use std::io::prelude::*;
|
|
use std::io::BufReader;
|
|
|
|
// Open file and debug print the contents compressed with zlib
|
|
fn main() {
|
|
println!("{:?}", open_hello_world().unwrap());
|
|
}
|
|
|
|
// Opens sample file, compresses the contents and returns a Vector or error
|
|
// File wrapped in a BufReader implements Bufread
|
|
fn open_hello_world() -> io::Result<Vec<u8>> {
|
|
let f = File::open("examples/hello_world.txt")?;
|
|
let b = BufReader::new(f);
|
|
let mut z = ZlibEncoder::new(b, Compression::fast());
|
|
let mut buffer = Vec::new();
|
|
z.read_to_end(&mut buffer)?;
|
|
Ok(buffer)
|
|
}
|