1use std::io::Write;
2use std::fs;
3use std::path::PathBuf;
4use crate::error::Error;
5
6pub fn write(line_set: Vec<String>, path: &PathBuf) -> Result<(), Error> {
7 let mut file: fs::File = fs::OpenOptions::new().write(true).create(true).truncate(true).open(path)?;
8 for line in line_set {
9 writeln!(file, "{}", line.as_str().trim_end())?;
10 }
11 Ok(())
12}
13
14pub fn create(content: String, path: &PathBuf) -> Result<(), Error> {
15 let mut file: fs::File = fs::OpenOptions::new().write(true).create(true).truncate(true).open(path)?;
16 Ok(write!(file, "{}", content)?)
17}
18
19pub fn delete(path: &PathBuf) -> Result<(), Error> {
20 Ok(fs::remove_file(path)?)
21}
22
23pub fn read(path: &PathBuf) -> Result<String, Error> {
24 Ok(fs::read_to_string(path)?)
25}
26
27#[cfg(test)]
28#[path = "../tests/unit_tests/file.rs"]
29pub mod test;