Rust:
Tekstitiedoston kirjoittaminen

Kuinka:

Rustin vakio kirjasto tarjoaa vankkoja työkaluja tiedostojen käsittelyyn, jotka on ensisijaisesti kapseloitu std::fs ja std::io moduuleihin. Tässä on perusesimerkki tekstitiedoston luomisesta ja siihen kirjoittamisesta:

use std::fs::File;
use std::io::prelude::*;

fn main() -> std::io::Result<()> {
    let mut file = File::create("hello.txt")?;
    file.write_all(b"Terve, maailma!")?;
    Ok(())
}

Tämän koodin suorittamisen jälkeen löydät tiedoston nimeltä hello.txt, jonka sisältönä on “Terve, maailma!”.

Monimutkaisemmissa tilanteissa, kuten tiedostoon lisäämisen tai suurten datamäärien tehokkaan käsittelyn tapauksessa, Rust tarjoaa lisätoiminnallisuutta. Tässä on miten tekstiä voi lisätä olemassa olevaan tiedostoon:

use std::fs::OpenOptions;
use std::io::prelude::*;

fn main() -> std::io::Result<()> {
    let mut file = OpenOptions::new()
        .write(true)
        .append(true)
        .open("hello.txt")?;
        
    file.write_all(b" Lisätään lisää tekstiä.")?;
    Ok(())
}

Tämän suorittaminen lisää " Lisätään lisää tekstiä." loppuun hello.txt tiedostoon.

Joissain tapauksissa kolmannen osapuolen kirjastot voivat yksinkertaistaa tiedosto-operaatioita. serde crate yhdessä serde_json kanssa, esimerkiksi, mahdollistaa datarakenteiden serialisoinnin ja deserialisoinnin JSON-muotoon, tarjoten korkean tason lähestymistavan tiedostojen kirjoittamiseen:

use serde::{Serialize, Deserialize};
use serde_json;
use std::fs::File;

#[derive(Serialize, Deserialize)]
struct User {
    id: u32,
    name: String,
}

fn main() -> std::io::Result<()> {
    let user = User { id: 1, name: "Jane Doe".into() };
    let file = File::create("user.json")?;
    serde_json::to_writer(file, &user)?;
    Ok(())
}

Yllä olevan koodin suorittamisen jälkeen user.json sisältää User rakenteen JSON representaation. Huomaa, että serde ja serde_json käyttäminen vaatii näiden crateien lisäämistä Cargo.toml-tiedostoosi.

Tekstitiedostojen kirjoittaminen Rustissa, joko vakio kirjaston kautta tai ulkopuolisten cratejen avulla, on suoraviivaista mutta voimakas tapa hallita datan pysyvyyttä sovelluksissasi.