English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico de Java

Controle de fluxo do Java

Java Array

Java Orientação a Objetos (I)

Java Orientação a Objetos (II)

Java Orientação a Objetos (III)

Tratamento de Exceções Java

Java Lista (List)

Java Fila (Queue)

Java Conjunto Map

Java Conjunto Set

Java Entrada e Saída (I/)

Reader do Java/Writer

Outros tópicos do Java

Java FileWriter Class

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.

Criar um FileWriter

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.

Método FileWriter

A classe FileWriter fornece implementações para diferentes métodos que aparecem na classe Writer.

método write()

  • 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

Exemplo: FileWriter escreve dados no 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 {
      // 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.

método getEncoding()

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.

close() method

To close the file writer, we can use the close() method. Once the close() method is called, data cannot be written to the writer.

Other Methods of FileWriter

MethodDescription
flush()Force all data in the writer to be written to the corresponding destination
append()Insert the specified character into the current writer