Neste tutorial, aprenderemos sobre Java BufferedWriter e seus métodos com a ajuda de exemplos.
A BufferedWriterclasse do java.iopacote pode ser usada com outros gravadores para gravar dados (em caracteres) de forma mais eficiente.
Ele estende a classe abstrata Writer.

Trabalho de BufferedWriter
O BufferedWritermantém um buffer interno de 8.192 caracteres .
Durante a operação de gravação, os caracteres são gravados no buffer interno em vez de no disco. Uma vez que o buffer é preenchido ou o gravador é fechado, todos os caracteres do buffer são gravados no disco.
Conseqüentemente, o número de comunicação com o disco é reduzido. É por isso que escrever caracteres é mais rápido usando BufferedWriter.
Crie um BufferedWriter
Para criar um BufferedWriter, devemos java.io.BufferedWriterprimeiro importar o pacote. Depois de importar o pacote, aqui está 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 BufferedWriterbuffer nomeado com o FileWriterarquivo nomeado.
Aqui, o buffer interno do BufferedWritertem o tamanho padrão de 8.192 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 de BufferedWriter
A BufferedWriterclasse fornece implementações para diferentes métodos presentes em Writer.
Método write ()
write()- grava um único caractere no buffer interno do escritorwrite(char() array)- grava os caracteres da matriz especificada 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 denominado output junto com FileWriter. O gravador em buffer está vinculado ao arquivo output.txt .
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 arquivo output.txt é 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. Este 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 denominado 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(); ) ) )
Resultado
Os dados são liberados para o arquivo.
Quando executamos o programa, o arquivo output.txt é preenchido com o texto representado pelos dados da string.
Método close ()
Para fechar o gravador em buffer, podemos usar o close()método. Depois que o close()método é 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).








