lunes, 7 de marzo de 2011

Escritura de archivos en java (09.04.01)

Ejemplo:
Este programa lee un archivo java y lo modifica para escribirlo en otro archivo.

import java.io.*;
public class TestWriter {
public static void main(String[] args) {
try {
// Se define el stream para leer codigo fuente
// de un archivo java
BufferedReader archivoEntrada;
archivoEntrada = new BufferedReader(
new FileReader("C:\\TestWriter.java"));

String lineaArchivo;
String fuenteArchivo = new String();

// El archivo se lee linea a linea y se agrega en una Cadena
// readLine() retorna nulo cuando no haya mas lineas.
// \n significa fin de linea, retorno de carro.
while ((lineaArchivo = archivoEntrada.readLine()) != null)
fuenteArchivo += lineaArchivo + "\n";

// Se cierra el stream de lectura.
archivoEntrada.close();

// Se define el stream en memoria (BufferedReader)
// para leer datos del teclado (InputStreamReader)
// que se digitan en la consola (System.in)
BufferedReader teclado = new BufferedReader(
new InputStreamReader(System.in));

// Se lee el teclado y se agrega a la Cadena
System.out.print("Introduzca algun dato: ");
fuenteArchivo += "Agrego \" " + teclado.readLine()
+ " \" en la consola";

// Para guardar datos en un archivo
// Se define el stream en memoria (BufferedReader)
// para leer datos de un String (StringReader)
// que se encuentra en una variable (fuenteArchivo)
BufferedReader fuenteSalida;
fuenteSalida = new BufferedReader(
new StringReader(fuenteArchivo));

// Se define un stream de salida (PrintWriter)
// que tomara los datos de memoria (BufferedWriter)
// y los escribira en un archivo (FileWriter)
PrintWriter archivoSalida;
archivoSalida = new PrintWriter(
new BufferedWriter(
new FileWriter("C:\\TestWriterNew.java")));

// Se lee linea a linea la Cadena (fuenteSalida)
// si no se tiene mas lineas, la lectura devuelve NULL
// Se escribe en el archivo el numero de linea
// y el texto de la Cadena
int lineaNo = 1;
while ((lineaArchivo = fuenteSalida.readLine()) != null)
archivoSalida.println(lineaNo++  + ": " + lineaArchivo);

// Se cierra el stream de salida
archivoSalida.close();

} catch (EOFException e) {
System.out.println("Final de Stream");
} catch (IOException e) {
System.out.println("Excepcion Entrada/Salida");
}
finally {
System.out.println("Revise C:\\TestWriterNew.java");
}
}
}

Ejercicio: 
Modifique el programa anterior para que el nuevo archivo java no tenga comentarios.

Compartir:

0 comentarios:

Publicar un comentario