summaryrefslogtreecommitdiffstats
path: root/third_party/rust/flate2/examples/gzencoder-bufread.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /third_party/rust/flate2/examples/gzencoder-bufread.rs
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/flate2/examples/gzencoder-bufread.rs')
-rw-r--r--third_party/rust/flate2/examples/gzencoder-bufread.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/third_party/rust/flate2/examples/gzencoder-bufread.rs b/third_party/rust/flate2/examples/gzencoder-bufread.rs
new file mode 100644
index 0000000000..2214e2dcd8
--- /dev/null
+++ b/third_party/rust/flate2/examples/gzencoder-bufread.rs
@@ -0,0 +1,22 @@
+use flate2::bufread::GzEncoder;
+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 gzip
+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 gz = GzEncoder::new(b, Compression::fast());
+ let mut buffer = Vec::new();
+ gz.read_to_end(&mut buffer)?;
+ Ok(buffer)
+}