port buffering to exfat extraction

This commit is contained in:
beerpsi
2025-11-04 13:05:10 +07:00
parent 8c5998a85c
commit 8db2d1e71b
3 changed files with 6 additions and 4 deletions
+4 -2
View File
@@ -84,8 +84,6 @@ fn extract_exfat_elements(elements: &mut [FsElement<File>], output_dir: &Path) -
let dest_path = output_dir.join(file.name());
let mut dest = File::create(dest_path)?;
std::io::copy(file, &mut dest)?;
dest.set_times(
FileTimes::new()
.set_accessed(exfat_timestamp_to_system_time(
@@ -95,6 +93,10 @@ fn extract_exfat_elements(elements: &mut [FsElement<File>], output_dir: &Path) -
file.timestamps().modified(),
)?),
)?;
let mut writer = BufWriter::with_capacity(256 * 1024, &mut dest);
std::io::copy(file, &mut writer)?;
}
FsElement::D(directory) => {
let dest_path = output_dir.join(directory.name());