English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos aprender sobre o BufferedWriter do Java e seus métodos com a ajuda de exemplos.
A classe BufferedWriter do pacote java.io pode ser usada junto com outros escritores para escrever dados de maneira mais eficiente (em unidades de caracteres).
Ele herda a classe abstrata Writer.
BufferedWriter mantém um buffer internodo8192um buffer de caracteres
Durante a operação de escrita, os caracteres serão escritos no buffer interno em vez do disco. Assim que o buffer estiver cheio ou o escritor for fechado, todos os caracteres no buffer serão escritos no disco.
Portanto, reduz o número de comunicações com o disco. É por isso que a escrita de caracteres usando BufferedWriter é mais rápida.
Para criar um BufferedWriter,我们必须 primeiro importar o pacote java.io.BufferedWriter. Após a importação do pacote, podemos criar o escritor com buffer.
//Criar FileWriter FileWriter file = new FileWriter(String name); //Criar BufferedWriter BufferedWriter buffer = new BufferedWriter(file);
No exemplo acima, criamos um BufferedWriter chamado buffer e um FileWriter chamado file.
Aqui, o tamanho padrão do buffer interno do BufferedWriter é8192caracteres. Mas, também podemos especificar o tamanho do buffer interno.
//Crie um BufferedWriter com um buffer interno de tamanho especificado BufferedWriter buffer = new BufferedWriter(file, int size);
O buffer ajudará a escrever caracteres no arquivo de forma mais eficiente.
A classe BufferedWriter fornece implementações de diferentes métodos existentes em Writer.
write() - Escrever um caractere individual no buffer interno do escritor
write(char[] array) - Escrever os caracteres do array especificado no escritor
write(String data) - Escrever a string especificada no escritor
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 { //Criar FileWriter FileWriter file = new FileWriter("output.txt"); //Criar BufferedWriter BufferedWriter output = new BufferedWriter(file); //Escrever string no arquivo output.write(data); //Fechar writer output.close(); } catch (Exception e) { e.getStackTrace(); } } }
No exemplo acima, criamos um BufferedWriter e um FileWriter chamado output. O BufferedWriter está ligado ao arquivo output.txt.
FileWriter file = new FileWriter("output.txt"); BufferedWriter output = new BufferedWriter(file);
Para escrever dados no arquivo, usamos o método write().
Aqui, quando executamos o programa,output.txtO arquivo será preenchido com o seguinte conteúdo.
This is a line of text inside the file.
Para limpar o buffer interno, podemos usar o método flush(). Este método força o escritor a escrever todos os dados existentes no buffer para o arquivo de destino.
Por exemplo, suponha que tenhamos um arquivo chamadooutput.txtum arquivo vazio.
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 { //Criar FileWriter FileWriter file = new FileWriter(" flush.txt"); //Criar BufferedWriter BufferedWriter output = new BufferedWriter(file); //Escrever dados no arquivo output.write(data); //Refrescar dados para o destino output.flush(); System.out.println("Os dados são atualizados para o arquivo."); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
Resultados de Saída
Os dados são atualizados para o arquivo.
Quando executamos o programa, o arquivooutput.txtTexto representado por dados de string preenchido.
Para fechar o writer com buffer, podemos usar o método close(). Uma vez que o método close() foi chamado, não podemos usar o writer para escrever dados.
Método | Descrição |
---|---|
newLine() | Inserir nova linha para o autor |
append() | Inserir caractere especificado no escrevedor atual |