Nyx con Ejemplos

Lectura y Escritura de Archivos

Nyx provee las funciones integradas write_file y read_file para I/O de archivos simple sin necesidad de ningún import. Escribir un archivo es una sola llamada; volver a leerlo devuelve el contenido completo como un String. Este ejemplo también muestra str_byte_length, que cuenta bytes crudos en lugar de caracteres.

Código

// Escribir y leer un archivo: write_file, read_file

fn main() -> int {
    let path: String = "/tmp/nyx_example_11.txt"
    let contenido: String = "Hola desde Nyx!\nSegunda línea.\nTercera línea."

    // Escribir el archivo
    write_file(path, contenido)
    print("Archivo escrito en: " + path)

    // Leer el archivo
    let leido: String = read_file(path)
    print("Contenido leido:")
    print(leido)

    // Verificar longitud
    print("Bytes: " + int_to_string(str_byte_length(leido)))

    return 0
}

Salida

Archivo escrito en: /tmp/nyx_example_11.txt
Contenido leido:
Hola desde Nyx!
Segunda línea.
Tercera línea.
Bytes: 47

Explicación

write_file(path, content) crea o sobrescribe el archivo en path con el string dado. Los caracteres de nueva línea (\n) incrustados en el string se convierten en saltos de línea reales dentro del archivo. No hace falta abrir ni cerrar ningún manejador de archivo — la función se encarga de todo internamente.

read_file(path) lee el archivo completo y devuelve su contenido como un único String. Para archivos grandes usarías I/O por streaming desde std/io, pero para la mayoría de los scripts este enfoque de una sola pasada es perfectamente suficiente.

str_byte_length devuelve la cantidad de bytes en un string codificado en UTF-8, que puede diferir de la cantidad de puntos de código Unicode. Esto es útil cuando te importa el tamaño de almacenamiento y no la cantidad de caracteres.

← Anterior Siguiente →

Source: examples/by-example/11-file-read-write.nx