JavaRush /Blog Java /Random-ES /BufferedReader y BufferedWriter

BufferedReader y BufferedWriter

Publicado en el grupo Random-ES
La clase Java BufferedReader lee texto de un flujo de entrada de caracteres y almacena en un búfer los caracteres leídos para permitir una lectura eficiente de caracteres, matrices y cadenas. Puede especificar el tamaño del búfer como segundo parámetro en el constructor.
BufferedReader y BufferedWriter - 1
Diseñadores:
BufferedReader(Reader in) // Crea un flujo de búfer de entrada de caracteres que utiliza el tamaño de búfer predeterminado.
BufferedReader(Reader in, int sz) // Crea un flujo de búfer de entrada de caracteres que usa el tamaño especificado.
Métodos:
close() // cerrar el flujo
mark(int readAheadLimit) // marca la posición en la secuencia
markSupported() // ¿Admite el etiquetado de subprocesos?
int read() // leer el búfer
int read(char[] cbuf, int off, int len) // leer el búfer
String readLine() // Proxima linea
boolean ready() // puede leer el hilo
reset() // restablecer flujo
skip(long n) // saltar caracteres
Ejemplo de uso de las clases BufferedReader y BufferedWriter: Lectura de un archivo:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class FileReaderExample {

	public static void main(String[] args) {
		String inputFileName = "file.txt";

		try (BufferedReader reader = new BufferedReader(new FileReader(inputFileName))) {
			String line;
			while ((line = reader.readLine()) != null) {
				System.out.println(line + "\n");
			}
		}
                catch (IOException e) {
			e.printStackTrace();
		}
	}

}
La clase Java BufferedWriter escribe texto en el flujo de salida de caracteres, almacenando en búfer los caracteres escritos para permitir una escritura eficiente de caracteres, matrices y cadenas. Puede especificar el tamaño del búfer como segundo parámetro en el constructor. Diseñadores:
BufferedWriter(Writer out) // Crea un flujo de búfer de salida de caracteres que utiliza el tamaño de búfer predeterminado.
BufferedWriter(Writer out, int sz) // Crea un flujo de búfer de salida de caracteres que usa el tamaño especificado.
Métodos:
close() // cerrar el flujo
flush() // pasar datos del búfer a Writer
newLine() // ajustar a nueva línea
write(char[] cbuf, int off, int len) // escribir en el búfer
write(int c) // escribir en el búfer
write(String s, int off, int len) // escribir en el búfer
Ejemplo de uso de las clases Java BufferedReader y BufferedWriter: escritura en un archivo
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class FileWritterExample {

	public static void main(String[] args) {
		String outputFileName = "file.txt";
		String[] array = { "one", "two", "three", "four" };

		try (BufferedWriter writter = new BufferedWriter(new FileWriter(outputFileName))) {
			for (String value : array) {
				writter.write(value + "\n");
			}
		}
        catch (IOException e) {
			e.printStackTrace();
		}
	}

}
FileWriterescribe inmediatamente datos en el disco y accede a ellos cada vez, el búfer funciona como un contenedor y acelera la aplicación. El búfer escribirá datos en sí mismo y luego una gran cantidad de archivos en el disco. Leemos datos de la consola y los escribimos en un archivo:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

public class ConsoleReaderExample {

	public static void main(String[] args) {
		String outputFileName = "file.txt";

		try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
			try (BufferedWriter writter = new BufferedWriter(new FileWriter(outputFileName))) {
				String line;
				while (!(line = reader.readLine()).equals("exit")) { // Rompe el bucle al escribir la línea exit
					writter.write(line);
				}
			}
		}
         catch (IOException e) {
			e.printStackTrace();
		}
	}

}
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION