Clase Archivo Java

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Clase Archivo Java as PDF for free.

More details

  • Words: 757
  • Pages: 19
Archivos en Java Fuente: Eliana Scheihing G. Erick Araya 2002

Objetivos de la sesión 



Aprender a escribir y leer desde un archivo del disco Aplicaciones

Archivos de Disco  



Archivo: colección de información almacenada en un medio magnético Los archivos se identifican con un nombre y se caracterizan por los datos que contienen Accciones sobre un archivo:    

Crearlo Leer su contenido Escribir información en él Cambiarle su nombre

Flujo de E/S 

Objeto que permite la comunicación entre el programa y el origen o destino de cierta información Flujo de Entrada Archivo

Programa

Flujo de Salida Archivo

Flujo de E/S 

Para comunicarse con un archivo, un programa:  Debe abrir un flujo y leer la información en él almacenada  Debe abrir un flujo y escribir información en el mismo

Entrada y Salida 

Algoritmo de Lectura:  

Abrir un flujo desde un archivo Mientras haya información 





Cerrar el flujo

Algoritmo de Escritura  

Abrir un flujo hacia un archivo Mientras haya información 





Leer información

Escribir información

Cerrar el flujo

Se requiere importar el paquete java.io

La Clase File  

Modela los archivos de disco. Constructor (el procedimiento que es invocado para iniciar un objeto): 



File(String S)

Uso: File f= new File(“Arch”); • Crea un objeto de la clase File, cuyo nombre es Arch. • Obs: Si el archivo no existe, la creación del objeto f, no implica la creacion del archivo “Arch” en el disco.

La Clase File 

Si el archivo existe, es posible realizar las siguientes operaciones con él:  



Eliminarlo Renombrarlo

Ejemplo:

File f1,f2,f3; f1 = new File(“Pedro”); //existe f2 = new File(“Juan”); //existe f3 = new File(“Diego”);// no existe f1.delete(); f2.renameTo(f3);

La clase FileOutputStream • Permite escribir bytes solamente en un archivo • Constructor: FileOutputStream(File f)

• Uso:

File f = new File(“MiArchivo”); FileOutputStream fs = new FileOutputStream(f); // Crea (cuando corresponde) y abre el archivo // “MiArchivo” en el disco para recibir una salida.

• Obs: Si “MiArchivo” ya existe su contenido es eliminado a la espera de la salida.

La clase PrintStream • Permite usar los métodos print y println para escribir líneas y strings completos: • Constructor: • PrintStream(FileOutputStream fs)

• Para escribir en un archivo:

File f = new File(“MiArchivo”); FileOutputStream fs = new FileOutputStream(f); PrintStream p = new PrintStream(fs); p.println(“Bienvenidos a un archivo”);

La clase PrintStream • Una forma condensada de escribir en un archivo: PrintStream p = new PrintStream(new FileOutputStream( new File(“MiArchivo”))); p.println(“Bienvenidos a un archivo”);

• Ejercicio: escriba un programa en Java que imprima en pantalla el mensaje: Este es un nuevo programa en Java

y que además registre este mismo mensaje en un archivo de disco.

Solución import java.io.*; class Mensaje { static public void main(String[]args)throws Exception { String linea = "Este es un nuevo programa en Java"; System.out.println(linea); PrintStream P = new PrintStream( new FileOutputStream( new File("MiArchivo"))); P.println(linea);

La clase InputStreamReader • Establece un puente para pasar flujos de bytes (provenientes de un origen – archivo) a flujos de caracteres • Constructor: InputStreamReader(FileInputStream fs)

• Uso:

File f = new File(“MiEntrada”); FileInputStream fs= new FileInputStream(f);

La clase BufferedReader • Permite trabajar con caracteres • Constructor: BufferedReader(InputStreamReader isr)

• Uso:

File f= new File(“MiEntrada”); FileInputStream fs= new FileInputStream(f); InputStreamReader isr = new InputStreamReader(fs); BufferedReader b= new BufferedReader(isr); String linea=b.readLine(); // Al objeto b se asocia el método readLine que

La clase BufferedReader • Una forma condensada de leer desde un archivo: BufferedReader b= new BufferedReader(new InputStreamReader(new FileInputStream(new File(“MiEntrada”)))); String linea=b.readLine();

• Ejercicio:

Escriba un programa en Java que lea el nombre de un archivo de texto desde teclado y realice una copia del mismo. Si el nombre del archivo es nombre, la copia del archivo debe llamarse nombre.copia

Solución import java.io.*; class Copia { static public void main(String[]args)throws Exception { BufferedReader Kb = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Ingrese el nombre del archivo: "); String Nombre= Kb.readLine(); BufferedReader B = new BufferedReader( new InputStreamReader(

Solución (cont.) String NombreC = Nombre.concat(".copia"); PrintStream P = new PrintStream( new FileOutputStream( new File(NombreC))); String linea; while((linea=B.readLine()) != null) { P.println(linea); } B.close(); P.close(); } }

import java.io.*; class Copia2 { static public void main(String[]args)throws Exception { BufferedReader Kb = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Ingrese el nombre del archivo: "); String Nombre= Kb.readLine();

BufferedReader B = new BufferedReader( new FileReader(Nombre));

String NombreC = Nombre.concat(".copia"); PrintWriter P = new PrintWriter( new FileWriter(NombreC));

} }

String linea = B.readLine(); while(linea != null) { P.println(linea); linea = B.readLine(); } B.close(); P.close();

Related Documents

Clase Archivo Java
November 2019 7
Clase Java
November 2019 14
Clase 1 De Java
November 2019 13
Clase Resumen Java
November 2019 10
Clase Fundamentos De Java
November 2019 22