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