Crates.io | file_access |
lib.rs | file_access |
version | 0.1.9 |
source | src |
created_at | 2023-06-03 18:49:32.740957 |
updated_at | 2023-06-03 19:05:01.193386 |
description | A file_access wrapper-lib to make performing certain file manipulations more convenient. |
homepage | |
repository | |
max_upload_size | |
id | 881795 |
size | 51,402 |
A file_access wrapper-lib containing the AsFile
trait to make performing certain file manipulations more convenient.
let text = "strpath".as_file().read_string()?;
println!("{text}");
"file.1".as_file().copy_to(&"file.2")?;
"file.2".as_file().rename_to(&"file.3")?;
read_string
: Returns String
.read_lines
: Returns Vec<String>
.write_string
: Takes a borrowed AsRef<str>
such as String
or &str
. This function will create a file and its full directory path if they don't exist, and will entirely replace the contents.write_lines
: Takes a borrowed Vec<AsRef<str>>
such as Vec<String>
or Vec<&str>
. This function will create a file and its full directory path if they don't exist, and will entirely replace the contents with the provided strings each on its own line.append_string
: Takes a borrowed AsRef<str>
such as String
or &str
. This function will append the contents of a file, or write a new one and its full directory path if they don't exist yet.append_lines
: Takes a borrowed Vec<AsRef<str>>
such as Vec<String>
or Vec<&str>
. This function will append the contents of a file, or write a new one and its full directory path if they don't exist yet.delete
: This function will delete a file, or a directory recursively.copy
/copy_to
: This function will copy the contents of a file and write it to a destination. It will entirely replace the contents of the destination if it already exists.rename
/rename_to
: This function will copy the contents of a file, write it to a destination and then delete the source. It will entirely replace the contents of the destination if it already exists.There are 3 ways to use this library:
let result = file_access::METHOD_NAME(&file_path, &..)?
let file = FilePath::access(&file_path); let result = file.METHOD_NAME(&..)?
let file = "string_path".as_file(); let result = file.METHOD_NAME(&..)?
where file_path
can be a borrowed String
, &str
, or file_access::FilePath
.
read_string
directly:let text: String = file_access::read_string(&file_path)?;
println!("{text}");
FilePath
handle:let file: FilePath = FilePath::access(&file_path);
let lines: Vec<&str> = vec!["hello", "world"];
file.write_lines(&lines)?;
file.append_lines(&lines)?;
file.copy_to(&another_path)?;
AsFile
trait:// delete a file:
file_path.as_file().delete()?;
// rename a file:
"another_path".as_file().rename_to(&"a_new_file_path")?;