Podemos ler e gravar dados além de caracteres ASCII, incluindo tipos primitivos como int, double e short.
DataInputStream
eDataOutputStream
são usados para manipular dados binários de tipos primitivos em arquivos.DataOutputStream
implementa a interfaceDataOutput
, que contém métodos para gravar todos os tipos primitivos Java.Dados são gravados em formato binário interno, não em formato textual.
Métodos de
DataOutputStream
lançam umaIOException
em caso de erro.O construtor de
DataOutputStream
requer um objetoOutputStream
como parâmetro para especificar o fluxo de saída.FileOutputStream
pode ser usado para criar o fluxo de saída no qual os dados serão gravados.
DataInputStream
implementa a interfaceDataInput
para leitura de todos os tipos primitivos Java.Todos os métodos de leitura podem lançar uma
IOException
.A classe usa uma instância de
InputStream
como base, adicionando métodos para ler os tipos de dados Java.DataInputStream
lê dados em formato binário, não legível por humanos.Construtor:
DataInputStream(InputStream fluxoEntrada)
, ondefluxoEntrada
define o fluxo de entrada.Para leitura de arquivos,
FileInputStream
pode ser usado como parâmetro deInputStream
.Exemplo de uso: programa que grava e lê diferentes tipos de dados em um arquivo usando
DataOutputStream
eDataInputStream
.
A saída do programa é mostrada aqui.
Writing 10
Writing 1023.56
Writing true
Writing 90.28
Reading 10
Reading 1023.56
Reading true
Reading 90.28