Rust:
Создание временного файла
Как это сделать:
В Rust крейт tempfile
является хорошим помощником для управления временными файлами. Добавьте его в ваш Cargo.toml
:
[dependencies]
tempfile = "3.3.0"
Затем вы можете создать временный файл следующим образом:
use tempfile::NamedTempFile;
use std::io::{Write, Read};
fn main() -> std::io::Result<()> {
let mut temp_file = NamedTempFile::new()?;
write!(temp_file, "Привет, мир!")?;
let mut content = String::new();
temp_file.reopen()?.read_to_string(&mut content)?;
println!("Содержимое временного файла: {}", content);
// Временный файл удаляется здесь, когда `temp_file` выходит из области видимости
Ok(())
}
Запустите код. Магия случается. Появляется файл, а потом—исчезает, когда вы закончили.
Подробнее
Исторически временные файлы в вычислительной технике существуют столько же, сколько и сами компьютеры. Они всегда были простым, но эффективным способом обработки данных, которые не требуют долгосрочного хранения. В мире Rust крейт tempfile
упрощает процесс работы с временными файлами, автоматически очищая файлы, когда они больше не нужны, избегая старой головной боли с ручной очисткой.
Альтернативы? Конечно, вы можете создать свое собственное решение с помощью std::fs
и ручной очистки, но зачем изобретать велосипед?
Что насчет деталей? tempfile
создает файлы в обозначенной операционной системой временной директории, и имена файлов перемешиваются, чтобы избежать коллизий и повысить безопасность.
Смотрите также
- Документация Rust
tempfile
: https://docs.rs/tempfile/ - Стандартная библиотека ввода-вывода Rust: https://doc.rust-lang.org/std/io/
- Общее понятие временного файла: https://ru.wikipedia.org/wiki/Временный_файл