Escribir archivos con Ruby

Anteriormente vimos cómo leer archivos con Ruby, ahora veremos otra operación con archivos y es la escritura de los mismos.

Con Ruby, al igual que hicimos cuando leímos archivos, podemos escribir datos en un archivo ya sea por pedazos o en una sola llamada.

Se me ocurre que se podría usar la escritura en archivos para guardar algunos datos si no necesitamos la potencia de SQL o una base de datos.

Escribir determinados bytes a un archivo a la vez

Veamos el enfoque en donde no escribimos todo el contenido, sino que vamos poco a poco hasta terminar de transferir todo.

En el ejemplo escribimos cada carácter de una cadena dentro del archivo, dejo el código y lo explico abajo:

Hola, mundo. Soy una cadena :)
cadena = "Hola, mundo. Soy una cadena :)"

NOMBRE_ARCHIVO = "escrito.txt"
open(NOMBRE_ARCHIVO, "w") do |archivo|
	cadena.each_char do |caracter|
		archivo.write(caracter)
	end
end

Para abrir el archivo se utiliza open, pero ahora indicamos que vamos a escribir con el modo w. Este modo sobrescribe datos si ya existen, así que hay que tener cuidado. En caso de que quisiéramos que se añadieran, usaríamos el modo a.

Cada llamada a write escribe datos, eso lo podemos llamar las veces que sea necesario, ya sea dentro de un ciclo o desde cualquier otro lugar.

Escribir una cadena en archivo

Ahora veamos en donde se escribe a la vez. Es lo mismo de arriba pero sin ir carácter por carácter:

Hola, mundo. Soy una cadena :)
cadena = "Hola, mundo. Soy una cadena :)"

NOMBRE_ARCHIVO = "escrito.txt"
open(NOMBRE_ARCHIVO, "w") do |archivo|
		archivo.write(cadena)
end

No hace falta explicar, pues el código se explica por sí mismo. Eso sí, recuerda que si quieres agregar datos en lugar de remplazar debes abrir el archivo con el modificador a.

Probar ejemplos

Puedes descargar los ejemplos de código y ejecutarlos con ruby archivo.rb, solamente recuerda instalar Ruby antes.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *