Logo Studenta

Class_03_Manejo de Archivos

¡Este material tiene más páginas!

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

Continuar navegando