Создание временного файла

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 создает файлы в обозначенной операционной системой временной директории, и имена файлов перемешиваются, чтобы избежать коллизий и повысить безопасность.

Смотрите также