summaryrefslogtreecommitdiffstats
path: root/third_party/rust/flate2/examples/deflateencoder-bufread.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:47:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:47:29 +0000
commit0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d (patch)
treea31f07c9bcca9d56ce61e9a1ffd30ef350d513aa /third_party/rust/flate2/examples/deflateencoder-bufread.rs
parentInitial commit. (diff)
downloadfirefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.tar.xz
firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.zip
Adding upstream version 115.8.0esr.upstream/115.8.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/flate2/examples/deflateencoder-bufread.rs')
-rw-r--r--third_party/rust/flate2/examples/deflateencoder-bufread.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/third_party/rust/flate2/examples/deflateencoder-bufread.rs b/third_party/rust/flate2/examples/deflateencoder-bufread.rs
new file mode 100644
index 0000000000..6240f39972
--- /dev/null
+++ b/third_party/rust/flate2/examples/deflateencoder-bufread.rs
@@ -0,0 +1,24 @@
+extern crate flate2;
+
+use flate2::bufread::DeflateEncoder;
+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 Deflate
+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 deflater = DeflateEncoder::new(b, Compression::fast());
+ let mut buffer = Vec::new();
+ deflater.read_to_end(&mut buffer)?;
+ Ok(buffer)
+}