files_to_text/
files_to_text.rs

1use 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}