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