files_to_text/
files_to_text.rs1use crate::file_reader::FileReader;
2use crate::options::FileToTextOptions;
3use std::fs::File;
4use std::io::BufWriter;
5use std::io::Write;
6use std::path::Path;
7
8pub struct FilesToText;
9
10impl FilesToText {
11 pub fn read_all(options: FileToTextOptions) -> String {
12 let mut buf_writer = BufWriter::new(Vec::new());
13 let mut file_reader = FileReader::new(&mut buf_writer, options);
14 file_reader.read_to_output().unwrap();
15 buf_writer.flush().unwrap();
16 return String::from_utf8(buf_writer.get_ref().clone()).unwrap();
17 }
18
19 pub fn read_to_file(options: FileToTextOptions, filename: &str) -> std::io::Result<()> {
20 let path = Path::new(filename);
21 let file = File::create(path)?;
22 let mut buf_writer = BufWriter::new(file);
23 let mut file_reader = FileReader::new(&mut buf_writer, options);
24 file_reader.read_to_output()?;
25 buf_writer.flush()?;
26
27 Ok(())
28 }
29}