Java OutputStream: Conceitos Principais, Métodos e Exemplo Prático com Arquivo
Classe Java OutputStream
Descubra os fundamentos do OutputStream do Java, seus métodos principais e um exemplo prático usando FileOutputStream.
A classe OutputStream, localizada no pacote java.io, é uma superclasse abstrata que representa um stream de bytes destinado a um destino de saída. Por ser abstrata, você não pode instanciá-la diretamente; em vez disso, depende de suas subclasses concretas para realizar operações reais de I/O.
Principais Subclasses de OutputStream
Abaixo estão as subclasses mais comumente usadas que estendem OutputStream:
FileOutputStream– escreve bytes diretamente em um arquivo.ByteArrayOutputStream– captura bytes em um array expansível, útil para operações na memória.ObjectOutputStream– serializa objetos Java em um stream de bytes.
Exploraremos cada subclass em tutoriais dedicados.
Criando uma Instância de OutputStream
Para criar uma instância de OutputStream, importe o pacote e instancie uma subclass concreta:
// Instancia um FileOutputStream
OutputStream out = new FileOutputStream("exemplo.txt");
Como OutputStream é abstrata, você deve sempre usar uma subclass. O exemplo acima demonstra a criação de um stream que escreve em exemplo.txt.
Dica: Você pode substituir FileOutputStream por qualquer outra subclass (ex: ByteArrayOutputStream) para atingir um destino diferente.
Métodos Principais de OutputStream
A classe abstrata declara vários métodos essenciais que suas subclasses devem implementar:
write(int b)– escreve um único byte no stream.write(byte[] b)– escreve um array de bytes inteiro.flush()– força quaisquer dados em buffer a serem escritos.close()– libera recursos do sistema associados ao stream.
Exemplo: Escrevendo Texto em um Arquivo com FileOutputStream
Abaixo está um programa completo, pronto para executar, que escreve uma linha de texto em output.txt usando FileOutputStream:
import java.io.FileOutputStream;
import java.io.OutputStream;
public class Main {
public static void main(String[] args) {
String dados = "Esta é uma linha de texto dentro do arquivo.";
try (OutputStream out = new FileOutputStream("output.txt")) {
byte[] bytesDados = dados.getBytes();
out.write(bytesDados);
System.out.println("Dados escritos em output.txt");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Pontos-chave demonstrados:
- Conversão de
Stringpara array de bytes comgetBytes(). - Escrita do array de bytes no stream via
write(). - Fechamento automático do stream usando bloco try-with-resources, que chama
close()para você.
Após a execução, output.txt conterá:
Esta é uma linha de texto dentro do arquivo.
Para exploração mais profunda do OutputStream, consulte a documentação oficial do Java.
Java OutputStream (documentação oficial)
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