SlideShare uma empresa Scribd logo
1 de 9
Introdução à API
java.io: princípios e
exemplos
Motivação
•aplicações úteis trocam dados com sistemas
externos
•"bloco de construção" de API's avançadas (JDBC,
Servlet, etc.)
Apresentação
•Princípios
•Exemplos práticos
O que são entrada e saída ?
•Qualquer dado que não está na CPU/memória
•Sistema de arquivos
•Rede
•Periféricos
I/O em Java
•I/O é abstraída através de fluxos (streams)
•acesso serial
•comprimento desconhecido
•pode ser de 2 tipos
•orientada a bytes
•orientada a caracteres
Pacote java.io
•https://docs.oracle.com/javase/8/docs/api/java/
io/package-summary.html
•classes de I/O são organizadas em uma
hierarquia de decorators
(http://www.oodesign.com/decorator-
pattern.html)
Pacote java.io
•hierarquia orientada a bytes
• classes abstratas InputStream/OutputStream
•hierarquia orientada a caracteres
• classes abstratas Reader/Writer
•na maioria dos casos, existem classes análogas
para cada hierarquia
Exemplos
•Código em
https://github.com/rodolfomendes/ioexamples
Obrigado!
•https://www.linkedin.com/in/rodolfo-mendes/
•https://rodolfomendes.github.io/
•https://github.com/rodolfomendes

Mais conteúdo relacionado

Destaque

Design thinkin lean ux agile2
Design thinkin lean ux agile2Design thinkin lean ux agile2
Design thinkin lean ux agile2Arnulfo Garcia
 
Building a Culture of Innovation: An Example from Agribusiness
Building a Culture of Innovation: An Example from AgribusinessBuilding a Culture of Innovation: An Example from Agribusiness
Building a Culture of Innovation: An Example from AgribusinessLean Startup Co.
 
South African bonds remain investment grade... for now
South African bonds remain investment grade... for nowSouth African bonds remain investment grade... for now
South African bonds remain investment grade... for nowCraig Thompson
 
Summer training 2015
Summer training 2015Summer training 2015
Summer training 2015EsRaa Hamza
 
Developing Ideas and Starting a Startup
Developing Ideas and Starting a StartupDeveloping Ideas and Starting a Startup
Developing Ideas and Starting a StartupAmbuj Singh
 
Corporate IT Buying Behavior and Customer Satisfaction Study x86-based Servers
Corporate IT Buying Behavior and Customer Satisfaction Study x86-based ServersCorporate IT Buying Behavior and Customer Satisfaction Study x86-based Servers
Corporate IT Buying Behavior and Customer Satisfaction Study x86-based ServersPoul Bastrup
 

Destaque (10)

Design thinkin lean ux agile2
Design thinkin lean ux agile2Design thinkin lean ux agile2
Design thinkin lean ux agile2
 
Building a Culture of Innovation: An Example from Agribusiness
Building a Culture of Innovation: An Example from AgribusinessBuilding a Culture of Innovation: An Example from Agribusiness
Building a Culture of Innovation: An Example from Agribusiness
 
South African bonds remain investment grade... for now
South African bonds remain investment grade... for nowSouth African bonds remain investment grade... for now
South African bonds remain investment grade... for now
 
Roadrunners Minicabs Flight
Roadrunners Minicabs FlightRoadrunners Minicabs Flight
Roadrunners Minicabs Flight
 
PRCV 2016
PRCV 2016PRCV 2016
PRCV 2016
 
Summer training 2015
Summer training 2015Summer training 2015
Summer training 2015
 
Developing Ideas and Starting a Startup
Developing Ideas and Starting a StartupDeveloping Ideas and Starting a Startup
Developing Ideas and Starting a Startup
 
Corporate IT Buying Behavior and Customer Satisfaction Study x86-based Servers
Corporate IT Buying Behavior and Customer Satisfaction Study x86-based ServersCorporate IT Buying Behavior and Customer Satisfaction Study x86-based Servers
Corporate IT Buying Behavior and Customer Satisfaction Study x86-based Servers
 
Deportes
DeportesDeportes
Deportes
 
Портфоліо
ПортфоліоПортфоліо
Портфоліо
 

Semelhante a Java IO API Intro

Java: Manipulação de Arquivos
Java:  Manipulação  de ArquivosJava:  Manipulação  de Arquivos
Java: Manipulação de ArquivosArthur Emanuel
 
Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010Maurício Linhares
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordtchandy
 
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosMarcello Thiry
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorFelipe Hummel
 
001 cesep - turma java
001   cesep - turma java001   cesep - turma java
001 cesep - turma javaJunior Souza
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J Daniel San Martin
 
JSR 375 Segurança em Java EE 8
JSR 375 Segurança em Java EE 8JSR 375 Segurança em Java EE 8
JSR 375 Segurança em Java EE 8Helder da Rocha
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4javamanrj
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 

Semelhante a Java IO API Intro (20)

Java: Manipulação de Arquivos
Java:  Manipulação  de ArquivosJava:  Manipulação  de Arquivos
Java: Manipulação de Arquivos
 
Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecord
 
Hibernate
HibernateHibernate
Hibernate
 
Aula 1 - Seja um programador Java
Aula 1 - Seja um programador JavaAula 1 - Seja um programador Java
Aula 1 - Seja um programador Java
 
JPA INTRODUÇÃO
JPA INTRODUÇÃOJPA INTRODUÇÃO
JPA INTRODUÇÃO
 
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivos
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitor
 
Tag Libraries e JSTL
Tag Libraries e JSTLTag Libraries e JSTL
Tag Libraries e JSTL
 
001 cesep - turma java
001   cesep - turma java001   cesep - turma java
001 cesep - turma java
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J
 
2011 12 apresentacao robotica
2011 12 apresentacao robotica2011 12 apresentacao robotica
2011 12 apresentacao robotica
 
JSR 375 Segurança em Java EE 8
JSR 375 Segurança em Java EE 8JSR 375 Segurança em Java EE 8
JSR 375 Segurança em Java EE 8
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4
 
Java 03
Java 03Java 03
Java 03
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 

Mais de Rodolfo Mendes

Introdução a Data Science com Python
Introdução a Data Science com PythonIntrodução a Data Science com Python
Introdução a Data Science com PythonRodolfo Mendes
 
Descobrindo Conhecimento em Dados para Auxiliar a Tomada de Decisões
Descobrindo Conhecimento em Dados para Auxiliar a Tomada de DecisõesDescobrindo Conhecimento em Dados para Auxiliar a Tomada de Decisões
Descobrindo Conhecimento em Dados para Auxiliar a Tomada de DecisõesRodolfo Mendes
 
Introdução à API java.io
Introdução à API java.ioIntrodução à API java.io
Introdução à API java.ioRodolfo Mendes
 
Indexando e Ordenando Data Sets
Indexando e Ordenando Data SetsIndexando e Ordenando Data Sets
Indexando e Ordenando Data SetsRodolfo Mendes
 
Entendendo a Arquitetura de Armazenamento, parte 1
Entendendo a Arquitetura de Armazenamento, parte 1Entendendo a Arquitetura de Armazenamento, parte 1
Entendendo a Arquitetura de Armazenamento, parte 1Rodolfo Mendes
 

Mais de Rodolfo Mendes (6)

Introdução a Data Science com Python
Introdução a Data Science com PythonIntrodução a Data Science com Python
Introdução a Data Science com Python
 
Descobrindo Conhecimento em Dados para Auxiliar a Tomada de Decisões
Descobrindo Conhecimento em Dados para Auxiliar a Tomada de DecisõesDescobrindo Conhecimento em Dados para Auxiliar a Tomada de Decisões
Descobrindo Conhecimento em Dados para Auxiliar a Tomada de Decisões
 
Introdução à API java.io
Introdução à API java.ioIntrodução à API java.io
Introdução à API java.io
 
NoSQL Na Nuvem
NoSQL Na NuvemNoSQL Na Nuvem
NoSQL Na Nuvem
 
Indexando e Ordenando Data Sets
Indexando e Ordenando Data SetsIndexando e Ordenando Data Sets
Indexando e Ordenando Data Sets
 
Entendendo a Arquitetura de Armazenamento, parte 1
Entendendo a Arquitetura de Armazenamento, parte 1Entendendo a Arquitetura de Armazenamento, parte 1
Entendendo a Arquitetura de Armazenamento, parte 1
 

Java IO API Intro