Expand description
This module includes additional methods for working 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§
- A structure which stores information about the current status of a file that’s copied or moved. .
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 file with information about progress. This function will also copy the permission bits of the original file to the destination file.
- Moves a file from one place to another. This function will also copy the permission bits of the original file to the destination file.
- Moves a file from one place to another with information about progress. This function will also copy the permission bits of the original file to the destination file.
- Read file contents, placing them into
String
. - Removes a file from the filesystem.
- Write
String
content into file.