Classe Java BufferedWriter
Classe Java BufferedWriter
Neste tutorial, aprenderemos sobre o Java BufferedWriter e seus métodos com a ajuda de exemplos.
O BufferedWriter
classe do java.io
pacote pode ser usado com outros escritores para escrever dados (em caracteres) de forma mais eficiente.
Ele estende a classe abstrata Writer
.
Funcionamento do BufferedWriter
O
BufferedWriter
mantém um buffer interno de 8192 caracteres . Durante a operação de gravação, os caracteres são gravados no buffer interno em vez do disco. Uma vez que o buffer é preenchido ou o gravador é fechado, todos os caracteres no buffer são gravados no disco.
Assim, o número de comunicação com o disco é reduzido. É por isso que escrever caracteres é mais rápido usando
BufferedWriter
. Criar um BufferedWriter
Para criar um
BufferedWriter
, devemos importar o java.io.BufferedWriter
pacote primeiro. Uma vez que importamos o pacote, aqui é como podemos criar o gravador em buffer.
// Creates a FileWriter
FileWriter file = new FileWriter(String name);
// Creates a BufferedWriter
BufferedWriter buffer = new BufferedWriter(file);
No exemplo acima, criamos um
BufferedWriter
chamado buffer com o FileWriter
chamado arquivo . Aqui, o buffer interno do
BufferedWriter
tem o tamanho padrão de 8192 caracteres. No entanto, também podemos especificar o tamanho do buffer interno.
// Creates a BufferedWriter with specified size internal buffer
BufferedWriter buffer = new BufferedWriter(file, int size);
O buffer ajudará a gravar caracteres nos arquivos com mais eficiência.
Métodos do BufferedWriter
O
BufferedWriter
classe fornece implementações para diferentes métodos presentes em Writer
. Método write()
write()
- escreve um único caractere no buffer interno do gravadorwrite(char[] array)
- escreve os caracteres do array especificado para o escritorwrite(String data)
- escreve a string especificada para o escritor
Exemplo:BufferedWriter para gravar dados em um arquivo
import java.io.FileWriter;
import java.io.BufferedWriter;
public class Main {
public static void main(String args[]) {
String data = "This is the data in the output file";
try {
// Creates a FileWriter
FileWriter file = new FileWriter("output.txt");
// Creates a BufferedWriter
BufferedWriter output = new BufferedWriter(file);
// Writes the string to the file
output.write(data);
// Closes the writer
output.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
No exemplo acima, criamos um gravador em buffer chamado output junto com
FileWriter
. O gravador em buffer está vinculado ao output.txt Arquivo.
FileWriter file = new FileWriter("output.txt");
BufferedWriter output = new BufferedWriter(file);
Para gravar dados no arquivo, usamos o
write()
método. Aqui, quando executamos o programa, o output.txt arquivo é preenchido com o seguinte conteúdo.
This is a line of text inside the file.
Método flush()
Para limpar o buffer interno, podemos usar o
flush()
método. Esse método força o gravador a gravar todos os dados presentes no buffer no arquivo de destino. Por exemplo, suponha que temos um arquivo vazio chamado output.txt .
import java.io.FileWriter;
import java.io.BufferedWriter;
public class Main {
public static void main(String[] args) {
String data = "This is a demo of the flush method";
try {
// Creates a FileWriter
FileWriter file = new FileWriter(" flush.txt");
// Creates a BufferedWriter
BufferedWriter output = new BufferedWriter(file);
// Writes data to the file
output.write(data);
// Flushes data to the destination
output.flush();
System.out.println("Data is flushed to the file.");
output.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Saída
Data is flushed to the file.
Quando executamos o programa, o arquivo output.txt é preenchido com o texto representado pela string data .
método close()
Para fechar o gravador em buffer, podemos usar o
close()
método. Uma vez que o close()
for chamado, não podemos usar o gravador para gravar os dados. Outros métodos de BufferedWriter
Método | Descrição |
---|---|
newLine() | insere uma nova linha para o escritor |
append() | insere o caractere especificado para o escritor atual |
Para saber mais, visite Java BufferedWriter (documentação oficial do Java).
Java