Java FileWriter (com exemplos)

Neste tutorial, aprenderemos sobre Java FileWriter e seus métodos com a ajuda de exemplos.

A FileWriterclasse do java.iopacote pode ser usada para gravar dados (em caracteres) em arquivos.

Isso estende a OutputStreamWriterclasse.

Antes de aprender mais sobre FileWriter, certifique-se de conhecer o arquivo Java.

Crie um FileWriter

Para criar um gravador de arquivo, devemos Java.io.FileWriterprimeiro importar o pacote. Depois de importar o pacote, aqui está como podemos criar o gravador de arquivo.

1. Usando o nome do arquivo

 FileWriter output = new FileWriter(String name); 

Aqui, criamos um gravador de arquivo que será vinculado ao arquivo especificado pelo nome.

2. Usando um objeto do arquivo

 FileWriter input = new FileWriter(File fileObj); 

Aqui, criamos um gravador de arquivo que será vinculado ao arquivo especificado pelo objeto do arquivo.

No exemplo acima, os dados são armazenados usando alguma codificação de caracteres padrão.

No entanto, desde o Java 11, também podemos especificar o tipo de codificação de caracteres ( UTF8 ou UTF16 ).

 FileWriter input = new FileWriter(String file, Charset cs); 

Aqui, usamos a Charsetclasse para especificar a codificação de caracteres do gravador de arquivo.

Métodos de FileWriter

A FileWriterclasse fornece implementações para diferentes métodos presentes na Writerclasse.

Método write ()

  • write() - escreve um único personagem para o escritor
  • write(char() array) - grava os caracteres da matriz especificada para o escritor
  • write(String data) - escreve a string especificada para o escritor

Exemplo: FileWriter para gravar dados em um arquivo

 import java.io.FileWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter output = new FileWriter("output.txt"); // 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 de arquivo denominado output. O leitor de saída está vinculado ao arquivo output.txt .

 FileWriter output = new FileWriter("output.txt"); 

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 getEncoding ()

O getEncoding()método pode ser usado para obter o tipo de codificação usado para gravar dados. Por exemplo,

 import java.io.FileWriter; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String file = "output.txt"; try ( // Creates a FileReader with default encoding FileWriter output1 = new FileWriter(file); // Creates a FileReader specifying the encoding FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the reader System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Resultado

 A codificação de caracteres de output1: Cp1252 A codificação de caracteres de output2: UTF8 

No exemplo acima, criamos 2 gravadores de arquivo chamados output1 e output2.

  • output1 não especifica a codificação de caracteres. Portanto, o getEncoding()método retorna a codificação de caracteres padrão.
  • output2 especifica a codificação de caracteres, UTF8 . Portanto, o getEncoding()método retorna a codificação de caracteres especificada.

Nota : Usamos o Charset.forName()método para especificar o tipo de codificação de caracteres. Para saber mais, visite Java Charset (documentação oficial do Java).

Método close ()

Para fechar o gravador de arquivos, 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 FileWriter

Método Descrição
flush() força a gravar todos os dados presentes no gravador para o destino correspondente
append() insere o caractere especificado para o escritor atual

Para saber mais, visite Java FileWriter (documentação oficial do Java).

Artigos interessantes...