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
вийде з області видимості, забезпечуючи ефективне управління ресурсами.
Дивіться Також
- Документація по
tempfile
бібліотеці: https://docs.rs/tempfile - RAII в Rust: https://doc.rust-lang.org/book/ch15-03-drop.html
- Rust by Example - TempDir: https://doc.rust-lang.org/rust-by-example/std_misc/fs.html#tempdir