Java BufferedWriter (com exemplos)

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 escritor
  • write(char() array) - grava os caracteres da matriz especificada para o escritor
  • write(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).

Artigos interessantes...