SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streamsArmando Daniel
 
Apresentação java io
Apresentação java ioApresentação java io
Apresentação java ioSilvino Neto
 
F I C+ + L P 05
F I C+ + L P 05F I C+ + L P 05
F I C+ + L P 05t34m0nana
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na práticaRafael Cassau
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreadingArmando Daniel
 
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: ThreadsAlex 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 PythonGiancarlo 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 pythonAlvaro Oliveira
 
Programando em python arquivos
Programando em python   arquivosProgramando em python   arquivos
Programando em python arquivossamuelthiago
 
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 arquivoKievnny Mendonca
 
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êsHelio Colombe
 
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosMarcello Thiry
 

Was ist angesagt? (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
 

Ähnlich wie Introdução a Java IO

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
 
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 JavaWilson Júnior
 
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 pentestEdson Celio
 
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 TutorialFabio Spanhol
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivosTiago
 
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 Jogoselliando dias
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação PythonJunior Sobrenome
 
Java Desktop
Java DesktopJava Desktop
Java Desktopciceroclc
 
013 programando em python - arquivos
013   programando em python - arquivos013   programando em python - arquivos
013 programando em python - arquivosLeandro Barbosa
 

Ähnlich wie 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
 

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.