Expand description
This module include extra methods for works with files.
One of the distinguishing features is receipt information about process work with files.
Example
use std::path::Path;
use std::{thread, time};
use std::sync::mpsc::{self, TryRecvError};
extern crate fs_extra;
use fs_extra::file::*;
use fs_extra::error::*;
fn example_copy() -> Result<()> {
let path_from = Path::new("./temp");
let path_to = path_from.join("out");
let test_file = (path_from.join("test_file.txt"), path_to.join("test_file.txt"));
fs_extra::dir::create_all(&path_from, true)?;
fs_extra::dir::create_all(&path_to, true)?;
write_all(&test_file.0, "test_data")?;
assert!(test_file.0.exists());
assert!(!test_file.1.exists());
let options = CopyOptions {
buffer_size: 1,
..Default::default()
}
let (tx, rx) = mpsc::channel();
thread::spawn(move || {
let handler = |process_info: TransitProcess| {
tx.send(process_info).unwrap();
thread::sleep(time::Duration::from_millis(500));
};
copy_with_progress(&test_file.0, &test_file.1, &options, handler).unwrap();
assert!(test_file.0.exists());
assert!(test_file.1.exists());
});
loop {
match rx.try_recv() {
Ok(process_info) => {
println!("{} of {} bytes",
process_info.copied_bytes,
process_info.total_bytes);
}
Err(TryRecvError::Disconnected) => {
println!("finished");
break;
}
Err(TryRecvError::Empty) => {}
}
}
Ok(())
}
fn main() {
example_copy();
Structs
Options and flags which can be used to configure how a file will be copied or moved.
A structure which include information about the current status of the copy or move file.
Functions
Copies the contents of one file to another. This function will also copy the permission bits of the original file to the destination file.
Copies the contents of one file to another with recept information about process. This function will also copy the permission bits of the original file to the destination file.
Moves file from one place to another. This function will also copy the permission bits of the original file to the destination file.
Moves file from one place to another with recept information about process. This function will also copy the permission bits of the original file to the destination file.
Read file content, placing him into String
.
Removes a file from the filesystem.
Write String
content into inside target file.