Classe Java Writer – Dominando Streams de Caracteres
Classe Java Writer – Dominando Streams de Caracteres
Este guia explica a API Writer do Java, suas principais subclasses, métodos principais e um exemplo passo a passo que escreve texto em um arquivo.
O que é Writer?
A classe abstrata java.io.Writer representa um stream de saída de caracteres. Embora você não possa instanciá-la diretamente, suas subclasses concretas fornecem maneiras poderosas e type-safe de escrever texto em arquivos, strings ou sockets de rede.
Subclasses Comuns de Writer
- BufferedWriter – Adiciona buffer para I/O eficiente.
- OutputStreamWriter – Converte byte streams em character streams com charset especificado.
- FileWriter – Simplifica escrita de caracteres em arquivo no sistema de arquivos local.
- StringWriter – Escreve em um buffer de string na memória.
Criando uma Instância de Writer
Para instanciar um Writer, importe o pacote e use uma subclass concreta. Por exemplo, para escrever em um arquivo chamado output.txt:
import java.io.FileWriter;
import java.io.Writer;
Writer output = new FileWriter("output.txt");
Como Writer é abstrata, você deve usar uma subclass como FileWriter, BufferedWriter ou StringWriter.
Dica: Use try-with-resources para fechar automaticamente o stream e tratar exceções limpa.
Métodos Principais de Writer
write(char[] cbuf)– Escreve um array de caracteres.write(String str)– Escreve uma string.append(char c)– Anexa um único caractere.flush()– Força quaisquer dados em buffer a serem escritos.close()– Fecha o stream e libera recursos.
Exemplo Prático: Escrevendo em Arquivo com FileWriter
Abaixo está um exemplo completo, pronto para produção, que escreve uma string em output.txt usando try-with-resources:
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class Main {
public static void main(String[] args) {
String dados = "Estes são os dados no arquivo de saída";
try (Writer output = new FileWriter("output.txt")) {
output.write(dados);
} catch (IOException e) {
System.err.println("Erro ao escrever no arquivo: " + e.getMessage());
}
}
}
Executar este programa cria output.txt com o seguinte conteúdo:
Estes são os dados no arquivo de saída
Para mais detalhes, consulte a documentação oficial do Java sobre Writer.
Java
- Entendendo a Palavra-chave final em Java: Variáveis, Métodos e Classes
- Operador instanceof em Java: Guia Completo
- Dominando Herança em Java: Conceitos, Tipos e Exemplos Práticos
- Entendendo Classes Aninhadas Estáticas em Java: Uso, Diferenças e Exemplos
- Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
- Padrão Singleton em Java Explicado: Como Implementar e Usar com Segurança
- Dominando Reflection em Java: Inspecionando Classes, Métodos e Campos em Tempo de Execução
- Dominando Java ObjectOutputStream: Serialização, Métodos e Exemplos Práticos
- Dominando Java Generics – Construindo Código Reutilizável e Type-Safe
- Dominando Operações de Arquivo em Java com java.io – Criação, Leitura, Escrita e Exclusão