[Tutorial Processing] Crear archivos TXT

[singlepic id=799 w=450 float=center]

Una característica importante que cualquier programa debe incluir es la de guardar datos, comúnmente se utilizan bases de datos como MySQL por ejemplo, pero existen ocasiones en donde no se requiere tanta complejidad, para estos casos podemos hacer uso de los archivos TXT que permiten guardar parámetros o datos de importancia.

Para esto haremos uso de varias clases propias de Java y crearemos una clase propia que genere nuestro registro en el archivo. Haremos uso de la clase PrintWriter que permite la escritura en archivos, variables del sistema como sketchPath que devuelve la ruta donde se encuentra y en conjunto con la clase File para verificar la creación del archivo.

Los pasos necesarios para la creación de un archivo son los siguientes, primero que nada se debe crear la clase que maneja los archivos que es PrintWriter, se le debe de dar un nombre al archivo y una ruta, pero que pasa si ese nombre de archivo ya existe?, debemos verificar si el archivo ya existe, de ser así se renombra mediante una función, una vez creado el archivo ya podemos escribir en el usando el método write() de la clase PrintWriter y por ultimo cerrar el archivo, eso es todo, sencillo no? Ahora veamos esto en código:

Pero como se usa esta clase, es bastante sencillo, veamos un ejemplo donde creamos puntos en cada clic del ratón y guardamos datos importantes dentro del fichero, guardamos el id, color y posición de cada punto, recuerda que es importante cerrar el archivo, en caso de no cerrarlo el archivo no será útil, para cerrarlo se hace mediante la función close() que se llama cuando se presiona la tecla ‘c’.

[singlepic id=798 w=320 h=240 float=center]

Con esta clase podemos por ejemplo, guardar datos obtenidos de uno o varios sensores y almacenarlos dentro de un archivo TXT dandole un formato, posteriormente importar en algún programa matemático como Matlab© y graficarlos mas detalladamente e incluso realizar distintos análisis de señales con la ayuda de simulink©.

En el próximo tutorial veremos como leer los datos guardados en el archivo y parsearlos para su posterior uso. Y a ti que aplicación interesante se te ocurre? Déjanos un comentario abajo, en caso de que ya se encuentre cerrados los comentarios no dudes en participar en el foro.

Nota: En caso de tener algún error de compilación utilizar el código almacenado en GitHub, en ocasiones el plugin que maneja el código cambia caracteres por código HTML

Repositorio GitHub | Clase LOG

Adrian MB

Me gusta la electrónica, programación y todo lo relacionado. Ing. en Mecatronica de la UPIITA del IPN y estudiante de Diseño Industrial en la UAM. @adrianmtzb http://adrianmb.mx

También te podría gustar...

  • ivan

    Tuve un pequeño detalle con “private String path= sketchPath;” al utilizar el código, uso la versión 3.3 de processig. Para solucionarlo basta con agregar un paréntesis al final: private String path= sketchPath(); por si a alguien le llegara a suceder.

    • Gracias por el tip, en cuanto tenga un tiempo libre actualizare el código.

      Saludos.

  • luis fernando

    Como lo hago um proyecto con relacion a arduino y excel

  • Franklin Nain

    hola..quiero intentar hacer una interfaz con processing que yo pueda registrar datos como nombre y cedula de usuarios y registrarlos en un archivo y depuse poder accesar a los datos que estoy guardando..pero no tengo idea de como crear ese archivo

  • Luci

    Hola. quiero intentar guardar un .txt de datos que recibo de un sensor digital, pero el processing se guinda cada vez que lo intento, como puedo lograrlo?

    • Solo sigue los pasos que están en este tutorial, la clase Log que esta en el Github esta lista para implementar en tu código.

  • Carlos

    Hola que tal oye yo tengo un programa en Octave, sin embargo deseo que mi programa lea archivos de excel de cierta dimensión y los resultados los regrese a ese mismo archivo de excel pero en diferentes celdas, es posible esto?, saludos, oye un favor más crees que si puedes ver este mensaje y tienes una sugerencia me puedas responder a mi correo, es que casí no entro por aquí ya sabes, mucha tarea saludos.

    carlos.f.spindola@gmail.com

    Gracias!!!

  • nak

    una consulta. hay alguna posibilidad de que el archivo de texto pueda seguir siendo modificado luego de cerrarlo log.close?
    espero explicarme bien. seria para poder guardar cambios y seguir editando el archivo.
    he intentado pero no logro, una vez que se llama al log.close el archivo queda sin modificaciones.

    • Si es posible, solo que en esta clase no esta implementada esa función, puedes hacerlo de dos formas:

      -Crear una variable que contenga todos los datos que quieras guardar en el TXT, eliminar la función rename() y todo lo relacionado a ella, de este forma una vez que cierres el archivo puedes crear de nuevo el objeto y reemplazar el archivo anterior por uno con el contenido actualizado.

      -Modificar la clase para que busque primero si el archivo existe, de ser así leer el archivo (Aquí hay un ejemplo de como leerlo http://blog.make-a-tronik.com/tutorial-processing-leer-archivos-txt/) generar un nuevo archivo, agregar contenido nuevo y cerrarlo.

      Te invito a que crees un nuevo tema en el foro correspondiente http://foro.make-a-tronik.com

  • nak

    me gusto el articulo. es lo que buscaba. gracias