Um filtro é uma entidade que "envolve" um dispositivo de entrada ou saída realizando, em adição às funcionalidades básicas de transferência, alguma possibilidade de transformação dos dados sendo transferidos.
Em Java, há diversas classes que disponibilizam filtros que podem ser
combinados de acordo com a necessidade da aplicação. Por exemplo, a
classe DataInputStream
é uma extensão de
InputStream
que implementa
a interface DataInput
,
oferecendo um conjunto de métodos para ler grupos de bytes que
representam tipos primitivos da linguagem Java. Similarmente, a
classe DataOutputStream
estende
OutputStream
e implementa
DataOutput
.
Outro filtro derivado de OutputStream
é oferecido
pela classe PrintStream
, para converter tipos básicos
para uma seqüência de bytes imprimível. Similarmente, a classe
PrintWriter
estende a classe Writer
para
converter tipos básicos em seqüências de caracteres. Essas duas
classes oferecem os métodos print()
e
println()
com assinaturas contemplando todos os tipos
básicos da linguagem.
As funcionalidades básicas associadas a filtros de entrada e saída
estão definidas nas classes FilterInputStream
,
FilterOutputStream
, FilterReader
e
FilterWriter
, das quais os filtros concretos são
derivados.
© Ivan Luiz Marques Ricarte
DCA/FEEC/UNICAMP