Rust:
Створення тимчасового файлу

Як це робити:

Rust дозволяє нам створити тимчасовий файл за допомогою бібліотеки tempfile. Нижче ви знайдете приклад створення та написання у тимчасовий файл.

use tempfile::NamedTempFile;
use std::io::{Write, Seek, SeekFrom};

fn main() -> std::io::Result<()> {
    // Створіть новий тимчасовий файл.
    let mut tempfile = NamedTempFile::new()?;

    // Запишіть щось у файл.
    tempfile.write_all(b"Тестовий текст")?;

    // Перейдіть на початок файлу.
    tempfile.seek(SeekFrom::Start(0))?;

    // Файл автоматично видалиться коли `tempfile` покине область видимості.
    Ok(())
}

Якщо у вас все вийшло, то програма виконається без помилок, але ви не побачите жодного тексту, тому що файл тимчасовий і буде знищений одразу після закінчення програми.

Поглиблений Розгляд

Тимчасові файли не новина; вони були в системах UNIX ще з сімдесятих. У Rust, бібліотека tempfile використовує унікальні імена для уникнення конфліктів і може створювати файли в стандартній тимчасовій папці системи. Є альтернативи tempfile, наприклад, mkstemp в С, але tempfile забезпечує безпечне API в Rust контексті. Створення тимчасового файлу інкапсулюється в RAII (Resource Acquisition Is Initialization) паттерн в Rust, що означає, що файли будуть автоматично видалені, коли змінна tempfile вийде з області видимості, забезпечуючи ефективне управління ресурсами.

Дивіться Також