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-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /third_party/rust/flate2/examples/deflateencoder-bufread.rs
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
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)
+}