Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Manejo de Archivos Flujos de Entrada/Salida y Archivos Tarea – Investigación ¿Qué son los flujos de entrada/salida? ¿Cuantos flujos (streams) existen en Java? ¿Cuáles han utilizado? Acceso a los archivos: ¿Aleatorio o Flujo? Java cuenta con más de 20 clases para acceder a los archivos. Aleatorio Podemos saltar inmediatamente a una posición de byte específica. (Complicada de programar, usada en BD) Flujo El archivo se le trata como una secuencia de elementos que se deben procesar unos después de otro, empezando por el primero. Aspectos esenciales de los flujos Procesar Datos en Archivo Existente Leer el archivo. Leer o recibir como entrada los datos, elemento por elemento y colocarlos en variables Cerrar el archivo cuando terminemos de trabajar con él. Transferir datos de variables a un archivo Abrir el archivo Enviar como salida (o escribir) nuestros elementos en la secuencia requerida. Cerrar el archivo cuando terminemos de trabajar con él. Lectura mediante ciclos. Archivo compuesto de una serie de líneas compuestas de caracteres. Cada línea termina con un carácter de fin de línea. Clases de E/S de Java - Jerárquicas Reader BufferedReader InputStreamReader FileReader Writer PrintWriter FileWriter Librería a importar: Java.io.* Para leer y escribir líneas de texto utilizaremos: El método readLine de BufferedReader. Lee toda una línea de texto de una cadena. Si necesitamos dividir la línea en partes separadas, podemos usar la clase StringTokenizer (Tarea: leer y buscar ejemplos) La clase PrintWriter contiene los métodos print y println. Ambos métodos escriben una cadena en un archivo, pero println agrega el carácter de fin de línea después de la cadena. Podemos utilizar el operador de cadenas + para unir subcadenas. Salida de Archivos - Ejemplo Nuestro Programa hará lo siguiente: Abre/Crea el archivo seleccionado Obtiene una cadena del área de texto, la cuál puede tener varias líneas Envía cómo salida la cadena al archivo (Escribe sobre el archivo) Cierra el Archivo Entrada de Archivos - Ejemplo Nuestro Programa hará lo siguiente: Recibe del campo de texto el nombre de un archivo como entrada Abre el archivo con ese nombre (si lo encuentra) Recibe como entrada las líneas del archivo y las agrega al área de texto mientras no llegue al final del archivo. Cierra el Archivo Búsqueda con archivos Desarrollaremos un programa que realiza búsquedas en un archivo con datos de la siguiente forma: Nombre, numero, numero Cada línea estará dividida en tres áreas separadas por comas, sin embargo puede haber espacios adicionales. (En términos de BD, dichas áreas podrían ser campos. El programa nos permitirá escribir el nombre de un archivo y el nombre de un estudiante (el cual vamos a suponer que es único). Si los nombres no son únicos tendríamos que guardar además un número de identificación único para cada registro. El programa buscará en el archivo y mostrará las calificaciones del estudiante que elijamos. Utilizaremos un objeto StringTokenizer para permitir el acceso a cada campo en turno de la línea completa. Lógica Boolean encontrado = falso Mientras ((más líneas) && (no encontrado)){ obtener primer campo; si (primer campo coincide con nombre) { encontrado = verdadero poner el resto de los campos en campos de texto } } La clase file Provee herramientas para manipular rutas de archivos y directorios (carpetas). No esta relacionada con el acceso a los datos dentro de los archivos. Métodos (algunos) getAbsolutePath: obtiene la ruta absoluta de una instancia de File getName: extrae el nombre de un archivo. getParent: Regresa el directorio padre que tiene la instancia de File exists: Comprobamos que el archivo existe isDirectory: el archivo podría ser un directorio. Para verificarlo. lenght: dice el tamaño del archivo en bytes. Debemos convertir el valor devuelto a int list: un arreglo de cadenas con una lista de nombres de archivos dentro de un directorio Clase JFileChooser Típica ventanita para seleccionar archivos. Tiene dos variaciones abrir / guardar IMPORTANTE El selector de Archivos NO TRANSFIERE NINGÚN DATO a los archivos. Esto se codifica por el programador. Todo lo que hace es proveer al programa los detalles sobre el archivo que el usuario seleccionó. Es mejor que utilizar campos de texto, pues reduce errores de usuario al seleccionar archivos inexistentes. Evaluación 2da Unidad Escribe un programa que sea un editor de textos simple. Debe tener lo siguiente: Área de texto para edición Menú de Edición Abrir para mostrar en pantalla el archivo seleccionado Guardar para guardar el contenido del área de texto en el archivo seleccionado Copiar/Cortar/Pegar Buscar/Reemplazar Tipo/Tamaño Letra Mostrar número de líneas Botón Salir Utilizarás la clase JFileChooser Al abrir el archivo informarás el número de líneas que contiene. Podrá ser un archivo vacío que produzca el valor 0. Al guardar el archivo informarás el número de líneas que contiene. Podrá ser un archivo vacío que produzca el valor 0. MVC
Compartir