Input/Output
Persistência●   Até então falamos muito de memória●   Basicamente sobre a memória RAM, que é volátil●   Tudo pode ser faci...
Arquivo●   Classe File representa um arquivo do HDD●   Contém vários métodos relacionados a arquivos. Ex:    createNewFile...
I/O●   Ler e escrever bytes, caracteres e Strings de/para a entrada    e saída padrão●   Ler e escrever bytes, caracteres ...
OO em casos de I/O●   Assim como toda API do Java, ela também é orientada a    objetos, usa e abusa de conceitos da OO: cl...
Inputs●   InputStream, InputStreamReader, BufferedReader●   InputStream (trata a leitura de bytes): possui diversas    sub...
Inputs
Outputs●   OutputStream, OutputStreamReader, BufferedWriter●   OutputStream (trata a escrita de bytes): possui diversas   ...
Outputs
Fechando Recursos●   Pera evitar problemas, é importante que um arquivo/recurso    seja fechado pelo proprio programador.●...
Facilitando a vida●   A Classe Scanner surgiu com o Java 5 e sua ideia é facilitar    a leitura de informação por um Input...
Duvidas?
Próximos SlideShares
Carregando em…5
×

10 io

270 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
270
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

10 io

  1. 1. Input/Output
  2. 2. Persistência● Até então falamos muito de memória● Basicamente sobre a memória RAM, que é volátil● Tudo pode ser facilmente perdido se o programa parar de executar● Para evitar a perda de informação devemos armazena-la ou persisti-la
  3. 3. Arquivo● Classe File representa um arquivo do HDD● Contém vários métodos relacionados a arquivos. Ex: createNewFile() delete() getAbsolutePath() list() mkdirs()
  4. 4. I/O● Ler e escrever bytes, caracteres e Strings de/para a entrada e saída padrão● Ler e escrever bytes, caracteres e Strings de/para arquivos● Utilizar buffers para agilizar a leitura e escrita através de fluxos
  5. 5. OO em casos de I/O● Assim como toda API do Java, ela também é orientada a objetos, usa e abusa de conceitos da OO: classes abstratas, interfaces e polimorfismo● Utiliza fluxos de entrada (InputStream) e saida (OutputStream), para operações com arquivos, sockets e entrada e saida padrão (teclado e console)● InputStream e OutputStream definem o comportamento dos fluxos (input ou leitura de bytes e output ou escrita de bytes)● Vantagem da abstração é tornar acoplavel (como um cartucho) a opção de I/O
  6. 6. Inputs● InputStream, InputStreamReader, BufferedReader● InputStream (trata a leitura de bytes): possui diversas subclasses, ex: ObjectInputStream, AudioInputStream, ByteArrayInputStream.● InputStreamReader (trata a leitura de caracteres): subclasse de Reader, feita para tratar diretamente com caracteres e suporta vários encodings.● BufferedReader (trata leitura de Strings): outra subclasse de Reader, que recebe um outro Reader como argumento no seu construtor. Sua ideia é concatenar chars de maneira mais transparente.
  7. 7. Inputs
  8. 8. Outputs● OutputStream, OutputStreamReader, BufferedWriter● OutputStream (trata a escrita de bytes): possui diversas subclasses, ex: ObjectOutputStream, ByteArrayOutputStream.● OutputStreamWriter (trata a escrita de caracteres): subclasse de Writer, feita para tratar diretamente com caracteres e suporta vários encodings.● BufferedWriter (trata escrita de Strings): outra subclasse de Writer, que recebe um outro Writer como argumento no seu construtor. Sua ideia é concatenar chars de maneira mais transparente.
  9. 9. Outputs
  10. 10. Fechando Recursos● Pera evitar problemas, é importante que um arquivo/recurso seja fechado pelo proprio programador.● Se um recurso não for fechado pelo programador, ele pode deixar de ser referenciado e o GC, eventualmente, poderá fecha-lo.● É possivel que sem um “close” alguma mudanças não sejam de fato efetivadas no arquivo, elas ficariam apenas em memoria e o programa finalizaria antes de realizar a modificação.
  11. 11. Facilitando a vida● A Classe Scanner surgiu com o Java 5 e sua ideia é facilitar a leitura de informação por um InputStream.● PrintStream possui vários construtores, entre eles
  12. 12. Duvidas?

×