SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
Archivos secuenciales
Fecha: 11 de Abril

Las aplicaciones de una computadora necesitan almacenar
información en soporte permanente. Dicha información, cuyo
tamaño puede variar desde unos pocos bytes hasta terabytes,
puede tener accesos concurrentes desde varios procesos.
Además, dicha información tiene su ciclo de vida que
normalmente no está ligada a una única aplicación.

Archivo secuencial es la forma más simple de almacenar y
recuperar registros de un archivo. En un archivo secuencial, se
almacenan los registros uno tras otro. El primer registro
almacenado se coloca al principio del archivo. El segundo se
almacena inmediatamente después (no existen posiciones sin uso), el tercero después del segundo,
etc. Este orden nunca cambia en la organización secuencial.
Una característica de los archivos secuenciales es que todos los registros se almacenan por posición:
de primer registro, segundo registro, etc.
Ventajas:
 Los archivos secuenciales proveen la mejor utilización de espacio y son rápidos cuando los
   registros son accedidos secuencialmente.
 Los archivos con poca volatilidad, gran actividad y tamaño variable son altamente susceptibles
   de ser organizados secuencialmente.
 La ventaja más importante de la técnica de organización secuencial de archivos es la capacidad
   de acceso al "siguiente" registro rápidamente: Mientras que el patrón de acceso a un archivo
   secuencial se conforme al ordenamiento de registros en el archivo, los tiempos de acceso serán
   muy buenos. Sin embargo, si el patrón de acceso al programa no se conforma al patrón de
   ordenamiento de los registros, entonces la eficiencia del programa disminuirá.
 Otra ventaja de los archivos de organización secuencial es que son muy sencillos de usar y
   aplicar.
Desventajas:
 El acceso a un registro es pobre, la localización de un determinado registro no se puede hacer
   individualmente no de manera rápida, y el acceso aleatorio es impráctico.
 Además, en los archivos secuenciales la dirección de registro está implícita y están vulnerables
   a fallas del sistema.
En estos archivos, la información sólo puede leerse y escribirse empezando desde el principio del
archivo.
Los archivos secuenciales tienen algunas características que hay que tener en cuenta:
 La escritura de nuevos datos siempre se hace al final del archivo.
Para leer un dato concreto del archivo hay que avanzar siempre hasta donde se encuentre dicho
dato. Si el dato requerido se encuentra antes del dato en que está se está posicionado el archivo en
un momento dado, será necesario regresar al comienzo del archivo y avanzar hasta el dato
necesario.
Desarrollo
1. Crear un archivo de texto y nombrar como desee (el nombre no debe tener espacios), agregar
   por lo menos 10 renglones (registros) con los siguientes datos: nombre, dirección, teléfono y
   email, edad y dos campos más que usted defina (para esta práctica se usó “Sexo” y
   “Escolaridad”). Los datos deben estar separados por el caracter coma “,”. El archivo debe
   guardarse como UTF-8.
2. Crear un nuevo proyecto con el nombre “appDevTequila_5”. En NetBeans ir a nuevo proyecto
   y seleccionar “Java-> Java Aplication”. Indicar a NetBeans que NO genere la clase principal
   (main).
3. Crear tres paquetes nuevos “control”, “modelo” y “vistas”.
4. Dentro del paquete “control” crear una nueva clase (java class) de nombre “Principal” y escribir
   el siguiente código (por ahora ignorar los errores):




5. Dentro del paquete “vistas” crear un nuevo “jFrame Form” y nombrarlo “Menu”. Guardar todo.
   Los errores de “Principal” deben haber desaparecido, de no ser así, comprobar la sección de
   “imports” y la sintaxis.
6. En “Menu” agregar un “jMenuBar” (figura 1), editar el texto de una de las opciones que tiene
   por defecto, cambiarlo a “Leer” y del menú emergente editarlos como “Leer todos” y “Buscar”.




                                              Figura 1
7. Ir al evento “actionPerformed” del elemento “Leer Todos” haciendo clic derecho sobre el
   elemento y seleccionar ”Events -> Actions -> actionPerformed”. Figura 2.




                                               Figura 2
8. Dentro del evento escribir el siguiente código (ignorar los errores):




9. Ir al paquete vistas y agregar un nuevo “jDialog”, nombrarlo “Leer” (una vez creado puedes
   incluir de una vez el “import vistas.Leer” que hace falta en “Menu”). El jDialog debe lucir como
   muestra la figura 3.




                                               Figura 3
10. Ir al evento “actionPerformed” del botón “Cargar archivo” y escribir el siguiente código (ignorar
    solo el error de “Modelo m = new Modelo()”):
11. Establecer en el actionPerformed del botón “Cerrar” la instrucción “this.dispose();”
12. Ir al paquete “modelo” y agregar una nueva clase de nombre “Modelo” y escribir el siguiente
    código:




13. Ejecutar la aplicación y revisar que existan errores, ahora la aplicación debe poder leer el archivo
    desde la ruta especificada en la caja de texto (jTextField).
14. Ir a “vistas” y crear un nuevo “jDialog” con el nombre “LeerIndividual”. El jDialog debe lucir como
    la figura 4. Una vez agregados los componentes de debe cambiar su nombre de variables como
    lo indica la figura 4, Para hacer esto ir al panel “Code” y cambiar la propiedad “Variable Name”
    (ver figura 5).




                                                                                     jlblNombre
                                                                                     jlblDireccion
                                                                                     jlblTelefono
                                                                                     jlblEmail
                                                                                     jlblEdad
                                                                                     jlblSexo
                                                                                     jlblEscolaridad




                                               Figura 4




                                               Figura 5

15. Ir a “Modelo” y agregar el método “getFila” con el siguiente código:
16. Regresar a “LeerIndividual” y agregar el siguiente código al “actionPerformed” del botón
    “Buscar” (agregar al botón “Cerrar” el método para cerrar el jDialog). Agregar los “imports”
    faltantes.




17. Ejecutar la aplicación y buscar un registro por nombre (el nombre debe ser escrito tal y como
    aparece en el archivo).
18. Agregar a “vistas” un nuevo jDialog y nombrarlo “Escribe”, agregar los componentes y sus
    nombres como indica la figura 6.
txtNombre
                                                                                txtDireccion
                                                                                txtTelefono
                                                                                txtEmail
                                                                                txtEdad
                                                                                txtSexo
                                                                                txtEscolaridad




                                             Figura 6

19. Ir al evento “actionPerformed” del botón “Guardar” y escribir el siguiente código:
20. Ir a “Modelo” y escribir el siguiente método:




21. Ir a “Menu” y agregar al “actioPerformed” del menú “Agregar” el código necesario para llamar
    la instancia de “Escribe” (no se puede poner directamente sobre el menú, es necesario un
    “MenuItem”).
22. Ejecutar la aplicación y agregar un nuevo registro.

RETO
Resolver los siguientes reactivos:

   Modificar la clase “Modelo” para que el caracter “comodin” se defina de la misma forma que el
    atributo “ruta” (desde el constructor).
   ¿Qué es el conjunto de componentes que recibe el método “getFila” de la clase “Modelo”?
   Reduzca la cantidad de líneas de código del método “getFila” de la clase “Modelo”. (algo similar
    a lo que ocurre en el medoto “escribe” de la clase “Modelo”)
   Modifique el código para que no sea necesario proporcionar la ruta en los formularios, esto es
    se establecerá una ruta al archivo por defecto.
   Modifique/Agregue el código para que el componente “jtxtTelefono” NO acepte letras.
   Modifique el código del evento “actionPerformed” del botón “Guardar” (del jDialog Escribe)
    para que especifique mediante un mensaje cuál campo está vacío y le establezca el foco al
    mismo.




      Esta es una creación del club de programación, a veces programar puede ser divertido.

Más contenido relacionado

Similar a Practica5

Java class library
Java class libraryJava class library
Java class library
LCA
 
Guia practica condicionales en java con NetBeans 01
Guia practica condicionales en java con NetBeans 01Guia practica condicionales en java con NetBeans 01
Guia practica condicionales en java con NetBeans 01
Emerson Garay
 
61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeans61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeans
epilefmtx
 
Construye to propio generador de código con MOSKitt SDK
Construye to propio generador de código con MOSKitt SDKConstruye to propio generador de código con MOSKitt SDK
Construye to propio generador de código con MOSKitt SDK
Jose Manuel García Valladolid
 
Cuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basicCuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basic
Omar Valero Guerra
 
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
jaircazarin
 

Similar a Practica5 (20)

Guia practicaiuprg3
Guia practicaiuprg3Guia practicaiuprg3
Guia practicaiuprg3
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
 
Sesión5 applets
Sesión5 appletsSesión5 applets
Sesión5 applets
 
Manual de delphi 6.0
Manual de delphi 6.0Manual de delphi 6.0
Manual de delphi 6.0
 
Java class library
Java class libraryJava class library
Java class library
 
Guia practica condicionales en java con NetBeans 01
Guia practica condicionales en java con NetBeans 01Guia practica condicionales en java con NetBeans 01
Guia practica condicionales en java con NetBeans 01
 
61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeans61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeans
 
Guia3 funciones byval byref, alcance de variables
Guia3 funciones byval byref, alcance de variablesGuia3 funciones byval byref, alcance de variables
Guia3 funciones byval byref, alcance de variables
 
Base de datos desde vb 6.0
Base de datos desde vb 6.0Base de datos desde vb 6.0
Base de datos desde vb 6.0
 
Listado Ejercicios Básicos Java1
Listado Ejercicios Básicos Java1Listado Ejercicios Básicos Java1
Listado Ejercicios Básicos Java1
 
Construye to propio generador de código con MOSKitt SDK
Construye to propio generador de código con MOSKitt SDKConstruye to propio generador de código con MOSKitt SDK
Construye to propio generador de código con MOSKitt SDK
 
Cuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basicCuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basic
 
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
 
Progra final examen
Progra final examen Progra final examen
Progra final examen
 
Examen
Examen Examen
Examen
 
Guia3
Guia3Guia3
Guia3
 
Tutorial java fx_8_espanol
Tutorial java fx_8_espanolTutorial java fx_8_espanol
Tutorial java fx_8_espanol
 
Formulario
FormularioFormulario
Formulario
 
Curso de excel avanzado tema 6 macros
Curso de excel avanzado tema 6 macrosCurso de excel avanzado tema 6 macros
Curso de excel avanzado tema 6 macros
 
Practica
PracticaPractica
Practica
 

Más de cobymotion (9)

04 servicios web
04 servicios web04 servicios web
04 servicios web
 
Instalacion androidstudio win
Instalacion androidstudio winInstalacion androidstudio win
Instalacion androidstudio win
 
U2 ejercicios
U2 ejerciciosU2 ejercicios
U2 ejercicios
 
Practica de motor a pasos
Practica de motor a pasos Practica de motor a pasos
Practica de motor a pasos
 
Manejo de colecciones y ordenamiento
Manejo de colecciones y ordenamientoManejo de colecciones y ordenamiento
Manejo de colecciones y ordenamiento
 
Practica 4
Practica 4Practica 4
Practica 4
 
Manejo de ventanas 2
Manejo de ventanas 2Manejo de ventanas 2
Manejo de ventanas 2
 
Dev tequila
Dev tequilaDev tequila
Dev tequila
 
Java introduccion
Java introduccionJava introduccion
Java introduccion
 

Practica5

  • 1. Archivos secuenciales Fecha: 11 de Abril Las aplicaciones de una computadora necesitan almacenar información en soporte permanente. Dicha información, cuyo tamaño puede variar desde unos pocos bytes hasta terabytes, puede tener accesos concurrentes desde varios procesos. Además, dicha información tiene su ciclo de vida que normalmente no está ligada a una única aplicación. Archivo secuencial es la forma más simple de almacenar y recuperar registros de un archivo. En un archivo secuencial, se almacenan los registros uno tras otro. El primer registro almacenado se coloca al principio del archivo. El segundo se almacena inmediatamente después (no existen posiciones sin uso), el tercero después del segundo, etc. Este orden nunca cambia en la organización secuencial. Una característica de los archivos secuenciales es que todos los registros se almacenan por posición: de primer registro, segundo registro, etc. Ventajas:  Los archivos secuenciales proveen la mejor utilización de espacio y son rápidos cuando los registros son accedidos secuencialmente.  Los archivos con poca volatilidad, gran actividad y tamaño variable son altamente susceptibles de ser organizados secuencialmente.  La ventaja más importante de la técnica de organización secuencial de archivos es la capacidad de acceso al "siguiente" registro rápidamente: Mientras que el patrón de acceso a un archivo secuencial se conforme al ordenamiento de registros en el archivo, los tiempos de acceso serán muy buenos. Sin embargo, si el patrón de acceso al programa no se conforma al patrón de ordenamiento de los registros, entonces la eficiencia del programa disminuirá.  Otra ventaja de los archivos de organización secuencial es que son muy sencillos de usar y aplicar. Desventajas:  El acceso a un registro es pobre, la localización de un determinado registro no se puede hacer individualmente no de manera rápida, y el acceso aleatorio es impráctico.  Además, en los archivos secuenciales la dirección de registro está implícita y están vulnerables a fallas del sistema. En estos archivos, la información sólo puede leerse y escribirse empezando desde el principio del archivo. Los archivos secuenciales tienen algunas características que hay que tener en cuenta:  La escritura de nuevos datos siempre se hace al final del archivo. Para leer un dato concreto del archivo hay que avanzar siempre hasta donde se encuentre dicho dato. Si el dato requerido se encuentra antes del dato en que está se está posicionado el archivo en un momento dado, será necesario regresar al comienzo del archivo y avanzar hasta el dato necesario.
  • 2. Desarrollo 1. Crear un archivo de texto y nombrar como desee (el nombre no debe tener espacios), agregar por lo menos 10 renglones (registros) con los siguientes datos: nombre, dirección, teléfono y email, edad y dos campos más que usted defina (para esta práctica se usó “Sexo” y “Escolaridad”). Los datos deben estar separados por el caracter coma “,”. El archivo debe guardarse como UTF-8. 2. Crear un nuevo proyecto con el nombre “appDevTequila_5”. En NetBeans ir a nuevo proyecto y seleccionar “Java-> Java Aplication”. Indicar a NetBeans que NO genere la clase principal (main). 3. Crear tres paquetes nuevos “control”, “modelo” y “vistas”. 4. Dentro del paquete “control” crear una nueva clase (java class) de nombre “Principal” y escribir el siguiente código (por ahora ignorar los errores): 5. Dentro del paquete “vistas” crear un nuevo “jFrame Form” y nombrarlo “Menu”. Guardar todo. Los errores de “Principal” deben haber desaparecido, de no ser así, comprobar la sección de “imports” y la sintaxis. 6. En “Menu” agregar un “jMenuBar” (figura 1), editar el texto de una de las opciones que tiene por defecto, cambiarlo a “Leer” y del menú emergente editarlos como “Leer todos” y “Buscar”. Figura 1 7. Ir al evento “actionPerformed” del elemento “Leer Todos” haciendo clic derecho sobre el elemento y seleccionar ”Events -> Actions -> actionPerformed”. Figura 2. Figura 2
  • 3. 8. Dentro del evento escribir el siguiente código (ignorar los errores): 9. Ir al paquete vistas y agregar un nuevo “jDialog”, nombrarlo “Leer” (una vez creado puedes incluir de una vez el “import vistas.Leer” que hace falta en “Menu”). El jDialog debe lucir como muestra la figura 3. Figura 3 10. Ir al evento “actionPerformed” del botón “Cargar archivo” y escribir el siguiente código (ignorar solo el error de “Modelo m = new Modelo()”):
  • 4. 11. Establecer en el actionPerformed del botón “Cerrar” la instrucción “this.dispose();” 12. Ir al paquete “modelo” y agregar una nueva clase de nombre “Modelo” y escribir el siguiente código: 13. Ejecutar la aplicación y revisar que existan errores, ahora la aplicación debe poder leer el archivo desde la ruta especificada en la caja de texto (jTextField).
  • 5. 14. Ir a “vistas” y crear un nuevo “jDialog” con el nombre “LeerIndividual”. El jDialog debe lucir como la figura 4. Una vez agregados los componentes de debe cambiar su nombre de variables como lo indica la figura 4, Para hacer esto ir al panel “Code” y cambiar la propiedad “Variable Name” (ver figura 5). jlblNombre jlblDireccion jlblTelefono jlblEmail jlblEdad jlblSexo jlblEscolaridad Figura 4 Figura 5 15. Ir a “Modelo” y agregar el método “getFila” con el siguiente código:
  • 6. 16. Regresar a “LeerIndividual” y agregar el siguiente código al “actionPerformed” del botón “Buscar” (agregar al botón “Cerrar” el método para cerrar el jDialog). Agregar los “imports” faltantes. 17. Ejecutar la aplicación y buscar un registro por nombre (el nombre debe ser escrito tal y como aparece en el archivo). 18. Agregar a “vistas” un nuevo jDialog y nombrarlo “Escribe”, agregar los componentes y sus nombres como indica la figura 6.
  • 7. txtNombre txtDireccion txtTelefono txtEmail txtEdad txtSexo txtEscolaridad Figura 6 19. Ir al evento “actionPerformed” del botón “Guardar” y escribir el siguiente código:
  • 8. 20. Ir a “Modelo” y escribir el siguiente método: 21. Ir a “Menu” y agregar al “actioPerformed” del menú “Agregar” el código necesario para llamar la instancia de “Escribe” (no se puede poner directamente sobre el menú, es necesario un “MenuItem”). 22. Ejecutar la aplicación y agregar un nuevo registro. RETO Resolver los siguientes reactivos:  Modificar la clase “Modelo” para que el caracter “comodin” se defina de la misma forma que el atributo “ruta” (desde el constructor).  ¿Qué es el conjunto de componentes que recibe el método “getFila” de la clase “Modelo”?  Reduzca la cantidad de líneas de código del método “getFila” de la clase “Modelo”. (algo similar a lo que ocurre en el medoto “escribe” de la clase “Modelo”)  Modifique el código para que no sea necesario proporcionar la ruta en los formularios, esto es se establecerá una ruta al archivo por defecto.  Modifique/Agregue el código para que el componente “jtxtTelefono” NO acepte letras.  Modifique el código del evento “actionPerformed” del botón “Guardar” (del jDialog Escribe) para que especifique mediante un mensaje cuál campo está vacío y le establezca el foco al mismo. Esta es una creación del club de programación, a veces programar puede ser divertido.