Etiqueta: Flujos de texto

Buffered

Trabajando con ficheros y flujos de texto

Cuando necesitamos trabajar con archivos de texto es necesario utilizar flujos (buffers) de texto. En este caso vamos a ver en qué consisten las clases BufferedReader y BufferedWriter, ambas disponibles en la librería java.io y que debemos agregar a nuestro proyecto. Tanto BufferedReader como BufferedWriter nos permiten trabajar con archivos de texto línea a línea, en lugar de ir caracter a caracter, lo que optimiza su funcionamiento.

ESCRIBIR texto EN un fichero:

En primer lugar debemos elegir el fichero desde el que queremos leer el texto, que será un objeto de tipo File. Si este fichero lo extraemos de un JFileChooser podemos obtenerlo mediante:

File fichero = this.jFileChooser.getSelectedFile();

Seguidamente extraemos el flujo del fichero mediante las instrucciones:

BufferedWriter flujo = new BufferedWriter(new FileWriter(fichero)); //Abrimos el flujo
flujo.write(this.jEditorPane.getText()); //Escribimos lo que haya en el jEditorPane
flujo.close(); //Cerramos el flujo
LEER texto DE un fichero:

En primer lugar debemos elegir el fichero en el que queremos escribir el texto, que será un objeto de tipo File. Si este fichero lo extraemos de un JFileChooser podemos obtenerlo mediante:

File fichero = this.jFileChooser.getSelectedFile();

Seguidamente extraemos el flujo del fichero mediante las instrucciones:

BufferedReader flujo = new BufferedReader(new FileReader(fichero)); //Abrimos el flujo
String texto; //Definimos una cadena de texto que utilizaremos para leer líneas del fichero
while((texto = flujo.readLine()) != null) { //Mientras haya líneas en el fichero
    this.jEditorPane.setText(this.jEditorPane1.getText() + texto + "\n"); //Añadimos al panel
}
flujo.close(); //Cerramos el flujo

¡Ten en cuenta que, en ambos casos, hay que capturar la excepción “FileNotFoundException”!