Crear Archivo con la Biblioteca Estándar de Rust

Beginner

This tutorial is from open-source community. Access the source code

Introducción

En este laboratorio, tenemos una función create que abre un archivo en modo de solo escritura. Crea un nuevo archivo o destruye el contenido antiguo si el archivo ya existe. La función utiliza la biblioteca estándar de Rust para manejar las operaciones de archivo. El ejemplo proporcionado demuestra cómo usar la función create para escribir el contenido de una cadena estática LOREM_IPSUM en un archivo llamado "lorem_ipsum.txt". La salida muestra una confirmación de una operación de escritura exitosa, y el contenido del archivo se muestra usando el comando cat.

Nota: Si el laboratorio no especifica un nombre de archivo, puede usar cualquier nombre de archivo que desee. Por ejemplo, puede usar main.rs, compilar y ejecutarlo con rustc main.rs &&./main.

create

La función create abre un archivo en modo de solo escritura. Si el archivo ya existía, el contenido antiguo es destruido. De lo contrario, se crea un nuevo archivo.

static LOREM_IPSUM: &str =
    "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
";

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

fn main() {
    let path = Path::new("lorem_ipsum.txt");
    let display = path.display();

    // Open a file in write-only mode, returns `io::Result<File>`
    let mut file = match File::create(&path) {
        Err(why) => panic!("couldn't create {}: {}", display, why),
        Ok(file) => file,
    };

    // Write the `LOREM_IPSUM` string to `file`, returns `io::Result<()>`
    match file.write_all(LOREM_IPSUM.as_bytes()) {
        Err(why) => panic!("couldn't write to {}: {}", display, why),
        Ok(_) => println!("successfully wrote to {}", display),
    }
}

A continuación se muestra la salida exitosa esperada:

$ rustc create.rs && ./create
successfully wrote to lorem_ipsum.txt
$ cat lorem_ipsum.txt
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

(Como en el ejemplo anterior, se le anima a probar este ejemplo en condiciones de error.)

La estructura [OpenOptions] se puede utilizar para configurar cómo se abre un archivo.

Resumen

¡Felicitaciones! Has completado el laboratorio Create. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.