Está en la página 1de 9

Write data to the console

• PrintWriter te permite escribir cosas, por ejemplo en


archivos, te genera el archivo nuevo, y en caso de que
exista te lo sustituye.

import java.io.*;
public class EscribirArchivo{
private static PrintWriter stdOut = new
PrintWriter(new FileWriter("archivoSalida.txt"));

public static void main(String args[]){


stdOut.println(“Es un archivo de prueba");
stdOut.println("De escritura de datos");
stdOut.close();
}
}
• En la computadora, los archivos son un
bitstream o "flujo de bits". Esto es para
que se puedan construir fácilmente
programas que puedan escribir a
cualquier tipo de flujo, ya sean archivos, la
pantalla, la impresora o una red. La clase
que nos sirve para imprimir bits a un
bitstream es PrintWriter. El constructor del
PrintWriter recibe un FileWriter, esto se
debe a que el PrintWriter sabe escribir a
un flujo, pero no sabe a cuál, la clase
FileWriter le permite escribir a un flujo de
archivos.
• El constructor de FileWriter es muy
importante, puede recibir uno o dos
parámetros, el primer parámetro es el
nombre del archivo o un objeto de la clase
File que represente el archivo que
queremos abrir, el segundo (que es
opcional) es un boolean que indica si se
debe sobreescribir el archivo o escribir al
final.
• Hay dos maneras de escribir a un archivo una
vez que ya tenemos el PrintWriter, pero primero
tenemos que entender una cosa de esta clase.
El PrintWriter es un buffer, como una caja en la
que se guarda lo que se va a escribir al archivo
y una vez que ya está todo listo se manda al
archivo.
• Para mandar un String a un archivo de texto
podemos utilizar dos métodos, el primero es
println() que recibe una línea de texto y la
imprime en el archivo con un cambio de línea
("\n") al final,
• El segundo método que se utiliza frecuentemente
es el método print que funciona básicamente de
la misma manera, pero no pone un salto de línea
al final y no imprime los datos al archivo sino
únicamente los deja en el buffer, por lo que
tenemos que utilizar el método flush() para que lo
imprima al archivo.
• Es muy importante recordar que debemos cerrar
el archivo al terminar de utilizarlo, ya que en caso
contrario no estamos seguros de que todos los
cambios se guarden en el archivo. Para poder
cerrar el archivo utilizamos el método close() del
PrintWriter.
• Aplicación de los streams a la lectura y escritura en disco
EscribeEnDisco.java import java.io.*; public class EscribeEnDisco
{
public static void main(String args[])
{
FileOutputStream fos = null;
PrintWriter pw = null; Crea el fichero para guardar los datos
File ficheroDeSalida = new File("c:/Javadir/historia", "salida.txt"); try
{
fos = new FileOutputStream(ficheroDeSalida);
} catch (IOException e)
{
System.out.println(e);
}
catch(SecurityException e)
{
System.out.println(e);
}
pw = new PrintWriter(fos); Escribe una secuencia de texto en el fichero
for (int i = 0; i < 10; i++)
{
pw.println("Linea " + i + " " + System.currentTimeMillis());
} Escribir realmente en el disco
pw.flush(); Cerrar Streams
try
{
fos.close();
} catch(IOException e)
{
System.out.println(e);
}
}
}

También podría gustarte