1 / 13

Flujos y archivos

Flujos y archivos. Unidad 6. Flujos y archivos. Todos los datos fluyen a través de una computadora desde una entrada hacia una salida Una fuente de entrada puede representar muchos tipos de entrada distintos: A rchivo de disco Teclado Conector (socket) de red. Flujo de E/S.

thi
Download Presentation

Flujos y archivos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Flujos y archivos Unidad 6

  2. Flujos y archivos • Todos los datos fluyen a través de una computadora desde una entrada hacia una salida • Una fuente de entrada puede representar muchos tipos de entrada distintos: • Archivo de disco • Teclado • Conector (socket) de red.

  3. Flujo de E/S • Lo implementa con varias clases del paquete java.io • Representa todos los orígenes y destinos de los datos detrás de una interfaz uniforme. • Este flujo de datos se denomina también stream. • Flujo de entrada  input streamque manda los datos desde el exterior. • Flujo de salida  output streamque dirige los datos hacia los dispositivos de salida

  4. E/S a un archivo • La entrada/salida directa a archivo es una violación de seguridad de acceso. • La clase File: • Pueden abstraerse las particularidades de cada sistema de archivos • Proporciona los métodos necesarios para obtener información sobre los mismos. • Un File es el único objeto del paquete de E/S que referencia a un archivo de disco real. • La clase File no especifica cómo se recupera o almacena la información en los archivos describe las propiedades de un objeto archivo .

  5. Archivos • Los objetos archivo se pueden crear utilizando uno de los tres constructores disponibles: • File(Stringpath); • File(Stringpath, Stringname); • File(File dir, Stringname); • Ejemplos: • File f1 = new File("/"); • File f2 = new File("/","datos.dat"); • File f3 = new File(f1, " datos.dat");

  6. Métodos de la clase File

  7. Operaciones básicas en archivos secuenciales • a) Campo Elemento de datos básico, • Ejemplos: • nombre de un empleado, una fecha o un valor leído por un sensor. • Llongitud fija o variable • Tipo de datos que contenga • b) Registro se implementa como classen Java • Es un conjunto de campos relacionados que pueden tratarse como una unidad • Ejemplo: • Registro “empleado”  campos: nombre, RFC, fecha de contratación, etc. Un registro puede ser de longitud variable en el caso de que el número de campos pueda variar, esto dependerá de su diseño. • c) Archivo  es un conjunto de registros similares. • Los usuarios y las aplicaciones se refieren a él por un nombre que es único • Puede crearse y borrarse. • Restricciones al control de acceso suelen aplicarse a los archivos. • d) Base de datos conjunto de datos relacionados. • El aspecto fundamental es que está diseñada para ser usada por varias aplicaciones diferentes. • Puede contener toda la información relativa a una organización o proyecto.

  8. Creación de un archivo de acceso secuencial. • La clase DataOutputStream es para escribir datos del tipo primitivo de Java • Esta clase tiene un sólo constructor que toma un objeto de la clase OutputStreamo sus derivadas como parámetro. • El papel del objeto DataOutputStream proporciona acceso de alto nivel a un archivo convirtiendo los valores primitivos de Java en una secuencia de bytes • Almacenar datos de manera independiente de la plataforma o para mandarlos por una red entre computadoras muy distintas • escriben al archivo utilizando un objeto de tipo  FileOutputStream.

  9. Leer Archivo • Primero se crea un Reader de tipo fichero. • clase FileReader. • La utiliza el buffer como origen de lectura. • Ejemplo: • FileReaderfr = new FileReader("datos.txt"); BufferedReaderbf = new BufferedReader(fr);

  10. Ejemplo: Leer un archivo packageleerarchivo; importjava.io.BufferedReader; importjava.io.FileNotFoundException; importjava.io.FileReader; importjava.io.IOException; publicclassLeerArchivo{ publicstaticvoidmain(String[] args) { try { FileReaderfr = new FileReader("archivo.txt"); BufferedReaderbf = new BufferedReader(fr); StringsCadena; while ((sCadena = bf.readLine())!=null) { System.out.println(sCadena); } } catch (FileNotFoundExceptionfnfe){ fnfe.printStackTrace(); } catch (IOExceptionioe){ ioe.printStackTrace(); } } }

  11. Escribir Archivo • Validar si el archivo existe o no. • También se puede sobre escribir sobre el archivo directamente. • Depende del contenido que este tuviese. • Resumiendo, bastará utilizar el método exists() de la clase File. • StringsFichero = “archivo.txt"; • File fichero = newFile(sFichero);

  12. Escribir archivo (cont.) • Crear un BufferedWriter. • Esta clase nos ayuda a manejar los stream en forma de buffer con métodos muy sencillos. • Este buffer necesita saber cual es el archivo. • clase FileWriter. • El código quedaría así: • BufferedWriterbw = newBufferedWriter(newFileWriter(sArchivo);

  13. Ejemplo: Escribir en un archivo packageescribirarchivo; import java.io.*; publicclassEscribirArchivo { publicstaticvoidmain(String[] args) { // Revisar si existe el archivo StringsArchivo = "archivo3.txt"; File arch = new File(sArchivo); if (arch.exists()) System.out.println("El archivo " + sArchivo + " ya existe"); else { try{ BufferedWriterbw = new BufferedWriter(new FileWriter(sArchivo)); for (int x=0;x<10;x++) bw.write("Fila numero " + x + "\n"); bw.close(); } catch (IOExceptionioe){ ioe.printStackTrace(); } } } }

More Related