SlideShare uma empresa Scribd logo
Java IO
Entrada e Saída

É feita utilizando Streams
Tipos                     Fontes e destinos
   Objetos                 Arquivo
   Caracteres              Disco
   Imagens                 Rede (Socket)
   Sons                    Memória
                            Outro programa
Entrada e Saída

Algoritmo básico para Entrada:

Abrir o Stream
Ler a informação
Enquanto “não chegar ao fim”
Processar a informação
Ler outra informação
Fechar o Stream
Entrada e Saída

   Streams para Caracteres
       Lê e grava caracteres (16 bits)
   Stream para Bytes
       Lê e grava bytes (8 bits)
   Métodos básicos
                        read() e write()
   Streams podem ser encadeadas para combinar
    suas características
Streams para Caracteres


          BufferedReader     LineNumberReader

         CharArrayReader

         InputStreamReader      FileReader
Reader
            FilterReader     PushbackReader

           PipedReader

           StringReader
Streams para Caracteres


           BufferedWriter

          CharArrayWriter

         OutputStreamWriter   FileWriter

Writer       FilterWriter

            PipedWriter

            StringWriter

             PrintWriter
Stream para Bytes


                 FileInputStream        LineNumberInputStream

                PipedInputStream          DataInputStream

                 FilterInputStream       BufferedInputStream

InputStream   ByteArrayInputStream      PushbackInputStream

              SequenceInputStream

              StringBufferInputStream

                ObjectInputStream
Stream para Bytes


                 FileOutputStream


                PipedOutputStream      DataOutputStream


OutputStream     FilterOutputStream   BufferedOutputStream


               ByteArrayOutputStream PushbackOutputStream


                ObjectOutputStream
Stream para Bytes


                 FileOutputStream


                PipedOutputStream      DataOutputStream


OutputStream     FilterOutputStream   BufferedOutputStream


               ByteArrayOutputStream PushbackOutputStream


                ObjectOutputStream
Serialização de Objetos

   É a representação dos objetos em estado
    sequencial de uma forma que possa ser
    reconstruído
   Classes
       ObjectInputStream
       ObjectOutputStream
Serialização de Objetos

   Serializable  Interface que deve ser
    implementada para tornar-se serializável
   Transient  Marca os atributos não
    serializáveis
   Utilização:
       RMI – Chamada a métodos remotos
       Persistência
Arquivos de acesso aleatório

   Classe
       RandomAccessFile
   É usada para Leitura e Gravação
   Métodos
       skipBytes
       Seep
       getFilePointer
Exercício

       Lendo do Teclado
InputStream is = System.in;
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String linha = br.readLine();


// primeira linha
while (linha != null) {
        System.out.println(linha);
        linha = br.readLine();
}
Exercício

   Lendo de um arquivo
InputStream is = new FileInputStream("arquivo.txt");
BufferedReader br = new BufferedReader(new
InputStreamReader( new FileInputStream("arquivo.txt")));
String linha = br.readLine(); // primeira linha
Exercício

   Lendo de uma arquivo com Scanner
InputStream is = new FileInputStream("arquivo.txt");
Scanner entrada = new Scanner(is);
while (entrada.hasNextLine()) {
    System.out.println(entrada.nextLine());
}
is.close();
Exercícios Extras(1/2)

1)Faça uma programa em java que leia um texto
  informado pelo usuário no console e que salve
  o texto informado em um arquivo qualquer.
2)Faça uma programa em java que leia um texto
  de um arquivo e escreva em outro.
3)Faça um programa que faça uma cópia de um
  arquivo binários. Pesquise como fazer isso.
Execícios Extras(2/2)

4)Pesquise sobre a classe java.io.File e faça um
  programa crie um diretório qualquer e salve um
  arquivo qualquer no diretório criado usando a
  classe File.
5)Pesquise como a classe RandomAcessFile
  funciona. Faça uma programa em java que leia
  os dados de 5 pessoas e armazene em um
  arquivo. A classe Pessoa deve ter cpf, nome,
  idade.

Mais conteúdo relacionado

Mais procurados

Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streams
Armando Daniel
 
Apresentação java io
Apresentação java ioApresentação java io
Apresentação java io
Silvino Neto
 
F I C+ + L P 05
F I C+ + L P 05F I C+ + L P 05
F I C+ + L P 05
t34m0nana
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
Rafael Cassau
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
Armando Daniel
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
Diemesleno Souza Carvalho
 
Laboratório de Programação II: Threads
Laboratório de Programação II: ThreadsLaboratório de Programação II: Threads
Laboratório de Programação II: Threads
Alex Camargo
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
Giancarlo Silva
 
Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *
Alex Camargo
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
Alvaro Oliveira
 
Java9
Java9Java9
Editor de texto VI
Editor de texto VIEditor de texto VI
Editor de texto VI
Ivani Nascimento
 
Programando em python arquivos
Programando em python   arquivosProgramando em python   arquivos
Programando em python arquivos
samuelthiago
 
1 exercicio funcoes com string e manipulacao com arquivo
1 exercicio  funcoes com string e manipulacao com arquivo1 exercicio  funcoes com string e manipulacao com arquivo
1 exercicio funcoes com string e manipulacao com arquivo
Kievnny Mendonca
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
FATEC São José dos Campos
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
Helio Colombe
 
Python
PythonPython
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivos
Marcello Thiry
 

Mais procurados (18)

Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streams
 
Apresentação java io
Apresentação java ioApresentação java io
Apresentação java io
 
F I C+ + L P 05
F I C+ + L P 05F I C+ + L P 05
F I C+ + L P 05
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Laboratório de Programação II: Threads
Laboratório de Programação II: ThreadsLaboratório de Programação II: Threads
Laboratório de Programação II: Threads
 
Curso básico de Algoritmos com Python
Curso básico de Algoritmos com PythonCurso básico de Algoritmos com Python
Curso básico de Algoritmos com Python
 
Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Java9
Java9Java9
Java9
 
Editor de texto VI
Editor de texto VIEditor de texto VI
Editor de texto VI
 
Programando em python arquivos
Programando em python   arquivosProgramando em python   arquivos
Programando em python arquivos
 
1 exercicio funcoes com string e manipulacao com arquivo
1 exercicio  funcoes com string e manipulacao com arquivo1 exercicio  funcoes com string e manipulacao com arquivo
1 exercicio funcoes com string e manipulacao com arquivo
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Python
PythonPython
Python
 
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivos
 

Semelhante a Introdução a Java IO

Entrada e Saída
Entrada e SaídaEntrada e Saída
Entrada e Saída
Denis L Presciliano
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
Rodrigo Vieira
 
Aula Persistência 01 (Java)
Aula Persistência 01 (Java)Aula Persistência 01 (Java)
Aula Persistência 01 (Java)
Fabio Moura Pereira
 
Arquivos, Fluxos e Serialização de Objetos em Java
Arquivos, Fluxos e Serialização de Objetos em JavaArquivos, Fluxos e Serialização de Objetos em Java
Arquivos, Fluxos e Serialização de Objetos em Java
Wilson Júnior
 
10 io
10 io10 io
Python e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestPython e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentest
Edson Celio
 
Workshop Python.2
Workshop Python.2Workshop Python.2
Workshop Python.2
Marcelo Lira
 
Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
Rodrigo Kiyoshi Saito
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
Fabio Spanhol
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
Tiago
 
A Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em JogosA Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em Jogos
elliando dias
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
Julio Cesar Eiras Melanda
 
C 1
C 1C 1
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
Junior Sobrenome
 
Java 05
Java 05Java 05
Java 05
samuelthiago
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
Elaine Cecília Gatto
 
Socket
SocketSocket
Java Desktop
Java DesktopJava Desktop
Java Desktop
ciceroclc
 
Python2.5.ppt
Python2.5.pptPython2.5.ppt
Python2.5.ppt
wildcat9335
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
Leandro Barbosa
 

Semelhante a Introdução a Java IO (20)

Entrada e Saída
Entrada e SaídaEntrada e Saída
Entrada e Saída
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
Aula Persistência 01 (Java)
Aula Persistência 01 (Java)Aula Persistência 01 (Java)
Aula Persistência 01 (Java)
 
Arquivos, Fluxos e Serialização de Objetos em Java
Arquivos, Fluxos e Serialização de Objetos em JavaArquivos, Fluxos e Serialização de Objetos em Java
Arquivos, Fluxos e Serialização de Objetos em Java
 
10 io
10 io10 io
10 io
 
Python e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestPython e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentest
 
Workshop Python.2
Workshop Python.2Workshop Python.2
Workshop Python.2
 
Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
 
A Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em JogosA Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em Jogos
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
 
C 1
C 1C 1
C 1
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Java 05
Java 05Java 05
Java 05
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
Socket
SocketSocket
Socket
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Python2.5.ppt
Python2.5.pptPython2.5.ppt
Python2.5.ppt
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivos
 

Último

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 

Último (7)

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 

Introdução a Java IO

  • 2. Entrada e Saída É feita utilizando Streams Tipos Fontes e destinos  Objetos  Arquivo  Caracteres  Disco  Imagens  Rede (Socket)  Sons  Memória  Outro programa
  • 3. Entrada e Saída Algoritmo básico para Entrada: Abrir o Stream Ler a informação Enquanto “não chegar ao fim” Processar a informação Ler outra informação Fechar o Stream
  • 4. Entrada e Saída  Streams para Caracteres  Lê e grava caracteres (16 bits)  Stream para Bytes  Lê e grava bytes (8 bits)  Métodos básicos read() e write()  Streams podem ser encadeadas para combinar suas características
  • 5. Streams para Caracteres BufferedReader LineNumberReader CharArrayReader InputStreamReader FileReader Reader FilterReader PushbackReader PipedReader StringReader
  • 6. Streams para Caracteres BufferedWriter CharArrayWriter OutputStreamWriter FileWriter Writer FilterWriter PipedWriter StringWriter PrintWriter
  • 7. Stream para Bytes FileInputStream LineNumberInputStream PipedInputStream DataInputStream FilterInputStream BufferedInputStream InputStream ByteArrayInputStream PushbackInputStream SequenceInputStream StringBufferInputStream ObjectInputStream
  • 8. Stream para Bytes FileOutputStream PipedOutputStream DataOutputStream OutputStream FilterOutputStream BufferedOutputStream ByteArrayOutputStream PushbackOutputStream ObjectOutputStream
  • 9. Stream para Bytes FileOutputStream PipedOutputStream DataOutputStream OutputStream FilterOutputStream BufferedOutputStream ByteArrayOutputStream PushbackOutputStream ObjectOutputStream
  • 10. Serialização de Objetos  É a representação dos objetos em estado sequencial de uma forma que possa ser reconstruído  Classes  ObjectInputStream  ObjectOutputStream
  • 11. Serialização de Objetos  Serializable  Interface que deve ser implementada para tornar-se serializável  Transient  Marca os atributos não serializáveis  Utilização:  RMI – Chamada a métodos remotos  Persistência
  • 12. Arquivos de acesso aleatório  Classe  RandomAccessFile  É usada para Leitura e Gravação  Métodos  skipBytes  Seep  getFilePointer
  • 13. Exercício  Lendo do Teclado InputStream is = System.in; InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String linha = br.readLine(); // primeira linha while (linha != null) { System.out.println(linha); linha = br.readLine(); }
  • 14. Exercício  Lendo de um arquivo InputStream is = new FileInputStream("arquivo.txt"); BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("arquivo.txt"))); String linha = br.readLine(); // primeira linha
  • 15. Exercício  Lendo de uma arquivo com Scanner InputStream is = new FileInputStream("arquivo.txt"); Scanner entrada = new Scanner(is); while (entrada.hasNextLine()) { System.out.println(entrada.nextLine()); } is.close();
  • 16. Exercícios Extras(1/2) 1)Faça uma programa em java que leia um texto informado pelo usuário no console e que salve o texto informado em um arquivo qualquer. 2)Faça uma programa em java que leia um texto de um arquivo e escreva em outro. 3)Faça um programa que faça uma cópia de um arquivo binários. Pesquise como fazer isso.
  • 17. Execícios Extras(2/2) 4)Pesquise sobre a classe java.io.File e faça um programa crie um diretório qualquer e salve um arquivo qualquer no diretório criado usando a classe File. 5)Pesquise como a classe RandomAcessFile funciona. Faça uma programa em java que leia os dados de 5 pessoas e armazene em um arquivo. A classe Pessoa deve ter cpf, nome, idade.