Java IO – Uma breve Introdução

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



[sc:signature_df]