Suscribirse al Feed
11Feb

[código] Ejemplo completo de archivos aleatorios en Java

En el siguiente ejemplo, el cual es una continuación de los ejemplos anteriores (Crear archivo aleatorio, Escribir en un archivo de acceso aleatorio, Leer datos de un archivo de acceso aleatorio), veremos una completa aplicación para manipular un archivo de acceso aleatorio, en donde podremos crear, actualizar y eliminar registros.

El resultado...

abrir archivo

actualizar archivo

nuevo registro

El código...

El código fuente de este programa es, de por sí, bastante largo... por lo que en esta ocasión he dejado directamente el link de descargar... que les sirva!

Descargar código fuente

Etiquetas: , ,
Los ejercicios utilizados en este post están basados en ejemplos del libro Cómo programar en Java de Deitel, y por lo tanto están bajo la licencia que esta editorial disponga.

13 Comentarios para “[código] Ejemplo completo de archivos aleatorios en Java”

« 1 2 Todos

  1. a gravatar

    Manuel Coy dice:  


    Que tal casidiablo, un favor es que me sale un erro cuando le doy crear
    ingreso los datos de la siguiente manera
    1
    manuel
    coy
    450.000

    le doy crear

    y me sale error ES
    error al escribir el archivo
    me puede ayudar en esto porfa

  2. a gravatar

    Manuel Coy dice:  


    Error que me sale
    init:
    deps-jar:
    compile-single:
    run-single:
    java.io.EOFException
    at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
    at ProcesadorTransacciones2.RegistroCuentasAccesoAleatorio.leer(RegistroCuentasAccesoAleatorio.java:34)
    at ProcesadorTransacciones2.EditorArchivo.obtenerRegistro(EditorArchivo.java:44)
    at ProcesadorTransacciones2.EditorArchivo.nuevoRegistro(EditorArchivo.java:74)
    at ProcesadorTransacciones2.ProcesadorTransacciones.realizarAccion(ProcesadorTransacciones.java:345)
    at ProcesadorTransacciones2.ProcesadorTransacciones.access$000(ProcesadorTransacciones.java:18)
    at ProcesadorTransacciones2.ProcesadorTransacciones$1.actionPerformed(ProcesadorTransacciones.java:50)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:6041)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
    at java.awt.Component.processEvent(Component.java:5806)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4413)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
    at java.awt.Container.dispatchEventImpl(Container.java:2102)
    at java.awt.Window.dispatchEventImpl(Window.java:2440)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    java.io.EOFException
    at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
    at ProcesadorTransacciones2.RegistroCuentasAccesoAleatorio.leer(RegistroCuentasAccesoAleatorio.java:34)
    at ProcesadorTransacciones2.EditorArchivo.obtenerRegistro(EditorArchivo.java:44)
    at ProcesadorTransacciones2.EditorArchivo.nuevoRegistro(EditorArchivo.java:74)
    at ProcesadorTransacciones2.ProcesadorTransacciones.realizarAccion(ProcesadorTransacciones.java:345)
    at ProcesadorTransacciones2.ProcesadorTransacciones.access$000(ProcesadorTransacciones.java:18)
    at ProcesadorTransacciones2.ProcesadorTransacciones$1.actionPerformed(ProcesadorTransacciones.java:50)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:6041)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
    at java.awt.Component.processEvent(Component.java:5806)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4413)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
    at java.awt.Container.dispatchEventImpl(Container.java:2102)
    at java.awt.Window.dispatchEventImpl(Window.java:2440)
    at java.awt.Component.dispatchEvent(Component.java:4243)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

  3. a gravatar

    Casidiablo dice:  


    Hola Manuel,

    El archivo lo debes crear con el programa que puse en:

    http://casidiablo.net/randomaccessfile-java/

    Este crea el archivo vacio pero con los espacios. Luego, si haces lo que estás intentando hacer.

    P.d. al poner el saldo, evita poner el punto (.), si es por ejemplo “Cuatro mil quinientos”, pon 4500 y no 4.500.

    Un saludo!

  4. a gravatar

    Manuel Coy dice:  


    q tal casidiablo baje solo la clase de CrearArchivo aleatorio, bajo todos los del link que me dijo solo con ese es necesario es que no me funciono asi solo con esa clase

  5. a gravatar

    Manuel Coy dice:  


    no mentiras si sirve si no que uno piensa que no ha agregado nada por lo que el boton ni cambia ni se muestra un mensaje pero ya esta bien gracias casi diablo

  6. a gravatar

    Manuel C dice:  


    mira lo q sucede es q tengo un problema con una generacion de listados de un archivo plano a ver si me puedes colaborar te la envie a tu correo con adjunto es solo q me des como una guia ya casi saco ese codigo solo me falta eso y gracias por tus colaboraciones en anteriores preguntas

  7. a gravatar

    Cristian dice:  


    Manuel, como te comento en el correo, la solución para analizar strings separados por ; es la clase StringTokenizer.

    Un saludo!

  8. a gravatar

    miguelg dice:  


    Excelente aporte, me ha servido mucho para empezar en esto de la programación en java Gracias!

« 1 2 Todos

 

 

Antes de comentar... recuerda que no hago tareas

Te invito a subscribirte al feed RSS. ¿No sabes que es un lector de Feeds?

© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS