Java IO – Uma breve Introdução Este item é parte dos tópicos sequenciais sobre Java IO: Confira. O que é? É a API Java para tratar operações de entrada e saída (Input/Output – IO). As classes para operações de IO em java envcontram-se no pacote java.io. É considerado como uma maneira de persistência, pois os dados permanecem enquanto o programa é executado. Um conceito importante é o de IO Blocante e IO Não-Blocante. IO Blocante ou Síncrono: Refere-se ao fato de que a aplicação tem que esperar enquanto a operacao de IO é executada, consequentemente gerando uma queda de performace, dependendo de quanto de operacoes de io a aplicacao utiliza. IO Não-Blocante ou Assíncrono: Parte da idéia de tornar o funcionamento da aplicação independente da operação de IO, desta forma o procedimento de IO é executado em separado, e quando concluído avisa a aplicação. A aplicação continua sua vida independentemente da operação de IO. * As operacoes que envolvem gravação/ leitura em disco são mais lentas que o processamento em si. O que são Streams? As operações de IO são baseadas em Streams(Canal) de dados. A melhor forma de imaginar um Stream, pra mim, é como uma espécia de canal o qual de dados percorrem, na forma de bytes, visando chegar a um destino. Existem 2 tipos de streams: Input (Entrada): Vem de uma origem qualquer e entra na aplicação. Um exemplo de stream de entrada, que usamos com frequência em java é o System.in Output (Saída): Sai da aplicação para um destino qualquer. Exemplos de stream de saída, que usamos com frequência em java são System.out e System.err O Pacote java.io As classes de java.io extendem basicamente 4 classes. Operações com bytes (8 bits): java.io.InputStream java.io.OutputStream Operações com chars (16 bits): java.io.Reader java.io.Writer...