English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos aprender com exemplos sobre o FileWriter do Java e seus métodos.
A classe FileWriter do pacote java.io pode ser usada para escrever dados (em caracteres) em um arquivo.
Ele herdou a classe OutputStreamWriter.
Antes de entender melhor o FileWriter, certifique-se de entenderJava File.
Para criar um escritor de arquivo,我们必须 primeiro importar o pacote Java.io.FileWriter. Após a importação do pacote, podemos criar um escritor de arquivo.
1.Usando o nome do arquivo
FileWriter output = new FileWriter(String name);
Aqui, criamos um escritor de arquivo que se conectará ao nome do arquivo especificado.
2.Usando o objeto do arquivo
FileWriter input = new FileWriter(File fileObj);
Aqui, criamos um escritor de arquivo que se conectará ao arquivo especificado pelo objeto de arquivo.
No exemplo acima, os dados são armazenados usando uma codificação de caracteres padrão.
Mas, devido ao Java 11também podemos especificar o tipo de codificação de caracteres (UTF8ouUTF16)
FileWriter input = new FileWriter(String file, Charset cs);
Aqui, usamos a classe Charset para especificar a codificação de caracteres do escritor de arquivo.
A classe FileWriter fornece implementações para diferentes métodos que aparecem na classe Writer.
write() -escreve um caractere no escritor
write(char[] array) -escreve os caracteres do array especificado no escritor
write(String data) -escreve a string especificada no escritor
import java.io.FileWriter; public class Main { public static void main(String args[]) { String data = "This is the data in the output file"; try { // criar FileWriter FileWriter output = new FileWriter("output.txt"); // escrever uma string no arquivo output.write(data); //fechar writer output.close(); } catch (Exception e) { e.getStackTrace(); } } }
No exemplo acima, criamos um escritor de arquivo chamado output. O leitor de arquivo de saída comoutput.txtligação de arquivo.
FileWriter output = new FileWriter("output.txt");
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.
O método getEncoding() pode ser usado para obter o tipo de codificação utilizado para escrever 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 { //cria um FileReader usando a codificação padrão FileWriter output1 = new FileWriter(file); //cria um FileReader com a especificação de codificação FileWriter output2 = new FileWriter(file, Charset.forName("UTF8"); //retorna o código de caracteres do leitor System.out.println("output1do código de caracteres: " + output1.getEncoding()); System.out.println("output2do código de caracteres: " + output2.getEncoding()); // Close reader output1.close(); output2.close(); } catch(Exception e) { e.getStackTrace(); } } }
Output Result
output1character encoding: Cp1252 output2character encoding: UTF8
In the above example, we created2a file writer, named output1and output2.
output1No character encoding is specified. Therefore, the getEncoding() method returns the default character encoding.
output2Specify Character EncodingUTF8. Therefore, the getEncoding() method returns the specified character encoding.
Note: We have used the Charset.forName() method to specify the type of character encoding.
To close the file writer, we can use the close() method. Once the close() method is called, data cannot be written to the writer.
Method | Description |
---|---|
flush() | Force all data in the writer to be written to the corresponding destination |
append() | Insert the specified character into the current writer |