Neste tutorial, aprenderemos sobre Java FileWriter e seus métodos com a ajuda de exemplos.
A FileWriter
classe do java.io
pacote pode ser usada para gravar dados (em caracteres) em arquivos.
Isso estende a OutputStreamWriter
classe.
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.FileWriter
primeiro 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 Charset
classe para especificar a codificação de caracteres do gravador de arquivo.
Métodos de FileWriter
A FileWriter
classe fornece implementações para diferentes métodos presentes na Writer
classe.
Método write ()
write()
- escreve um único personagem para o escritorwrite(char() array)
- grava os caracteres da matriz especificada para o escritorwrite(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).