การเขียนไฟล์ข้อความ

Rust:
การเขียนไฟล์ข้อความ

วิธีการ:

ไลบรารีมาตรฐานของ Rust ทำหน้าที่หลักๆ ในงานจัดการไฟล์, หลักๆ อยู่ภายในโมดูล std::fs และ std::io ต่อไปนี้เป็นตัวอย่างพื้นฐานในการสร้างและเขียนไปยังไฟล์ข้อความ:

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

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

หลังจากรันโค้ดนี้, คุณจะพบไฟล์ชื่อ hello.txt โดยมีเนื้อหา “Hello, world!”.

สำหรับสถานการณ์ที่ซับซ้อนมากขึ้น เช่น เพิ่มข้อมูลเข้าไปในไฟล์หรือจัดการข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพ Rust มีฟังก์ชันเพิ่มเติม ต่อไปนี้คือวิธีที่จะเพิ่มข้อความเข้าไปในไฟล์ที่มีอยู่:

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" Adding more text.")?;
    Ok(())
}

การรันนี้จะเพิ่ม " Adding more text." ไปที่ปลาย hello.txt.

ในบางกรณี การใช้ไลบรารีของบุคคลที่สามสามารถทำให้การดำเนินงานไฟล์ง่ายขึ้น ไลบรารี serde ร่วมกับ serde_json, เป็นต้น, ช่วยให้สามารถแปลงโครงสร้างข้อมูลไปและกลับจาก JSON format, นำเสนอวิธีการระดับสูงในการเขียนไฟล์:

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(())
}

หลังจากรันโค้ดด้านบน, user.json จะมีรูปแบบ JSON ของโครงสร้าง User. โปรดทราบว่าการใช้ serde และ serde_json ต้องการการเพิ่มเหล่านี้ลงใน Cargo.toml ของคุณ

การเขียนไฟล์ข้อความใน Rust, ไม่ว่าจะผ่านไลบรารีมาตรฐานหรือด้วยความช่วยเหลือจากไลบรารีภายนอก, เป็นวิธีที่ตรงไปตรงมาแต่ทรงพลังในการจัดการความทนทานของข้อมูลในการประยุกต์ใช้งานของคุณ