Rust:
Väliaikaistiedoston luominen
How to:
Rustissa väliaikaisten tiedostojen luonti onnistuu tempfile
-kirjaston avulla. Asennus Cargo.toml-tiedoston kautta:
[dependencies]
tempfile = "3.3.0"
Sitten itse koodi:
use tempfile::NamedTempFile;
use std::io::{Write, Read};
fn main() {
let mut temp_file = NamedTempFile::new().expect("Tiedoston luonti epäonnistui");
// Kirjoita dataa tiedostoon
writeln!(temp_file, "Terveisiä väliaikaisesta tiedostosta!").expect("Kirjoitus epäonnistui");
// Lue data tiedostosta
let mut sisältö = String::new();
temp_file.seek(std::io::SeekFrom::Start(0)).expect("Etsintä epäonnistui");
temp_file.read_to_string(&mut sisältö).expect("Lukeminen epäonnistui");
println!("Tiedoston sisältö: {}", sisältö);
// Tiedosto tuhotaan automaattisesti, kun `temp_file` poistuu käytöstä
}
Sample output:
Tiedoston sisältö: Terveisiä väliaikaisesta tiedostosta!
Deep Dive
Väliaikaiset tiedostot ovat olleet käytössä niin kauan kuin tietokoneet - ne ovat turvallinen tapa käsitellä dataa, joka ei tarvitse pysyvää tallennusta. Rustin tempfile
-kirjasto käyttää alustakohtaisia ominaisuuksia varmistamaan, että tiedostot ovat oikeasti väliaikaisia ja sijaitsevat sopivassa hakemistossa, kuten /tmp
unix-pohjaisissa järjestelmissä. Muualta säikeestä tai prosessista käytettäessä tiedostot ovat usein lukittuja, mikä pienentää yhteentörmäysriskiä. Toinen vaihtoehto väliaikaistiedostoille on käyttää in-memory-rakenteita, kuten Rustin tempfile::tempdir
funktiota, joka luo väliaikaisen hakemiston, jossa tiedostot voidaan säilyttää ohjelman suorituksen ajan.
See Also
- Rustin tempfile-kirjasto: https://docs.rs/tempfile
- Rust-ohjelmointikieli ja sen dokumentaatio: https://www.rust-lang.org/
- Filesystem interface in Rust’s standard library: https://doc.rust-lang.org/std/fs/