SlideShare uma empresa Scribd logo
1 de 12
Input/Output
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
Arquivo

●   Classe File representa um arquivo do HDD
●   Contém vários métodos relacionados a arquivos. Ex:
    createNewFile()
    delete()
    getAbsolutePath()
    list()
    mkdirs()
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
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
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.
Inputs
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.
Outputs
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.
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
Duvidas?

Mais conteúdo relacionado

Destaque

Destaque (9)

12 threads
12 threads12 threads
12 threads
 
11 sockets
11 sockets11 sockets
11 sockets
 
THREADS JAVA
THREADS JAVATHREADS JAVA
THREADS JAVA
 
9 collections-ii
9 collections-ii9 collections-ii
9 collections-ii
 
13 banco-de-dados
13 banco-de-dados13 banco-de-dados
13 banco-de-dados
 
8 collections-i
8 collections-i8 collections-i
8 collections-i
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010
 
Apresentacao Aula04 So
Apresentacao Aula04 SoApresentacao Aula04 So
Apresentacao Aula04 So
 
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosSistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
 

Semelhante a Input/Output e persistência de dados no Java

Java: Manipulação de Arquivos
Java:  Manipulação  de ArquivosJava:  Manipulação  de Arquivos
Java: Manipulação de ArquivosArthur Emanuel
 
Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaSérgio Souza Costa
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfEdkallenn Lima
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivosTiago
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04Ale Uehara
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2Fabio Spanhol
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com PythonLuiz Aldabalde
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com PythonPythOnRio
 

Semelhante a Input/Output e persistência de dados no Java (20)

Entrada e Saída
Entrada e SaídaEntrada e Saída
Entrada e Saída
 
Java 15
Java 15Java 15
Java 15
 
Aula Persistência 01 (Java)
Aula Persistência 01 (Java)Aula Persistência 01 (Java)
Aula Persistência 01 (Java)
 
Java: Manipulação de Arquivos
Java:  Manipulação  de ArquivosJava:  Manipulação  de Arquivos
Java: Manipulação de Arquivos
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Java9
Java9Java9
Java9
 
Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo Lua
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdf
 
Ficheiros em JAVA
Ficheiros em JAVAFicheiros em JAVA
Ficheiros em JAVA
 
Aula
AulaAula
Aula
 
Python tutorial-ed3
Python tutorial-ed3Python tutorial-ed3
Python tutorial-ed3
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
1071
10711071
1071
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 

Mais de Thiago Oliveira (7)

7 interfaces
7 interfaces7 interfaces
7 interfaces
 
6 excecoes
6 excecoes6 excecoes
6 excecoes
 
5 oo-avançado
5 oo-avançado5 oo-avançado
5 oo-avançado
 
4 arrays
4 arrays4 arrays
4 arrays
 
3 orientacao-objetos
3 orientacao-objetos3 orientacao-objetos
3 orientacao-objetos
 
2 controle-de-fluxo
2 controle-de-fluxo2 controle-de-fluxo
2 controle-de-fluxo
 
1 introdução
1 introdução1 introdução
1 introdução
 

Último

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 

Último (20)

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 

Input/Output e persistência de dados no Java

  • 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. Arquivo ● Classe File representa um arquivo do HDD ● Contém vários métodos relacionados a arquivos. Ex: createNewFile() delete() getAbsolutePath() list() mkdirs()
  • 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. 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. 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.
  • 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.
  • 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. 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