Programação II Java Streams. Christopher Burrows



Documentos relacionados
Curso Superior de Tecnologia emtelemática Programação Orientada a Objetos Streams em Java. Copyright 2010 Prof. César Rocha

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

Capítulo 6. Java IO - Ficheiros

Ficheiros. Ficheiros - Motivação. Streams. Entrada Binária. Não. Ficheiro

Programação Orientada a Objetos com Java. Prof. Júlio Machado julio.machado@pucrs.br

Arquivos. Profa. Thienne Johnson EACH/USP

Roteiro. Introdução a Arquivos. Streams Serialização Arquivos de Acesso Randômico Exercícios. Armazenamento. Dados em vetores, listas e variáveis

STREAMS (FLUXOS) EM JAVA uma Introdução

Bacharelado em Ciência e Tecnologia BC Processamento da Informação Teoria Arquivos Prof. Edson Pinheiro Pimentel edson.pimentel@ufabc.edu.

Java 2 Standard Edition. Entrada. Helder da Rocha

LP2 Laboratório de Programação 2 Ciência da Computação. Arquivos

Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. José Valente de Oliveira 16-1

Em JAVA, todas as considerações (ou quase todas) que se relacionam com as mais

Módulo VIII Linguagem Java Entrada e Saída de Dados Arquivos

Desenvolvimento Orientado a Objetos com Java

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

UNIVERSIDADE FEDERAL DO PARANÁ

Programação por Objectos. Java

Programação de Redes de Computadores em Java

Arquivos. Estruturas de Dados II Vanessa Braganholo

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

P R O G R A M A. Stream Stream. Stream. Figura 1. Streams representam fluxos unidirecionais de dados, seja em entrada ou saída.

Capítulo II Modelos de Programação Distribuída

Aula 2 APIs Básicas de Java


Cliente-servidor com Sockets TCP

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

Caso 1 NetScanner Main

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Trabalho Prático Nº1 Introdução ao C#.NET

Noções sobre Objetos e Classes

Mecanismos de Comunicação. Sockets em java (

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

Java : Comunicação Cliente-Servidor.

2 Orientação a objetos na prática

Modulo II Tópicos em Java - IO

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Comunicação entre processos

insfcanceof new public switch transient while byte continue extends for int null

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Conversão de Tipos e Arrays

Redes de Computadores /1

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Programação de sockets com TCP

Programação com sockets (em Java)

Sintaxe Básica de Java Parte 1

Programação de Sockets

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets

Vetores. Professor Dr Francisco Isidro Massettto

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística.

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

A Linguagem Java. Alberto Costa Neto DComp - UFS

Projeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar

Exercícios de Revisão Java Básico

Estrutura de Dados Básica

Utilizem a classe Aula.java da aula passada:

Encapsulamento de Dados

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

Orientação a Objetos

3 Classes e instanciação de objectos (em Java)

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Como o FIT funciona. FIT: Framework for Integrated Tests FIT. Dados de testes. Programa. Fixtures. classes. Resultados de testes

Slides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.

Roteiro 1: Dados, variáveis, operadores e precedência

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF Novembro/2005

Sistemas Distribuídos

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

BC0501 Linguagens de Programação

Unidade IV: Ponteiros, Referências e Arrays

Folha Prática 2. Lab. 2

Sockets com Java Parte I

Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

Programação de Computadores - I. Profª Beatriz Profº Israel

JDBC Tópicos avançados de acesso a base de dados relacional

Programação por Objectos. Java

Transcrição:

Programação II Java Streams Christopher Burrows

Java Streams - Introdução As aplicações informáticas consistem em trocas de dados entre duas ou mais fontes/destinos. As Streams servem para representar a fonte ou destino dos dados dentro de uma aplicação.

Java Streams - Introdução Existem duas classes das Streams, a partir das quais todas derivam: InputStream (para entrada); OutputStream (para saída); As Streams têm suporte para vários tipos de dados. (cada um com Input e Output)

Java Streams Tipos de Dados Byte Streams; Character Streams; Buffered Streams; Data Streams; Object Streams;

Java Streams Byte Streams Permitem ler sequências de bytes, sem haver a noção de qual é o tipo de dados que consistem. Só devem ser utilizados com dados essencialmente binários (imagens, som, etc.). Servem de base para todos os outros tipos de Streams.

Java Streams Byte Streams public static void main(string[] args) throws IOException, FileNotFoundException { FileInputStream fis = new FileInputStream( in.txt ); FileOutputStream fos = new FileOutputStream( out.txt ); int temp; while((temp = fis.read())!= -1) { out.write(temp); } } fis.close(); fos.close();

Java Streams Character Streams Utiliza-se para ler/escrever sequências de caracteres em Unicode. Funcionam da mesma forma que os Byte Streams. São preferiveis quando se trata de texto, uma vez que podem representar qualquer caracter no set Unicode.

Java Streams Character Streams Ao contrário dos Streams de bytes e todos os outros que trabalham com formatos de binários, os Streams de caracteres, que trabalham com formatos de texto, utilizam o FileReader e o FileWriter em vez do InputStream e o OutputStream.

Java Streams Character Streams public static void main(string[] args) throws IOException { FileReader fr = new FileReader( in.txt ); FileWriter fw = new FileWriter( out.txt ); int c; while((c = fr.read())!= -1) { fw.write(c); } } fr.close(); fw.close();

Java Streams Buffered Streams Os Buffers são espaços reservados na memória. Tornam o sistema mais eficiente que os Streams anteriores, uma vez que não é necessário aceder ao ficheiro sempre que se quer ler algo.

Java Streams Buffered Streams public static void main(string[] args) throws IOException { BufferedReader br = new BufferedReader(new FileInputStream( in.txt )); BufferedWriter bw = new BufferedWriter(new FileOutputStream( out.txt )); while((br.ready()) { bw.write(br.readline()); bw.newline(); } } br.close(); bw.close();

Java Streams Data Streams Permitem ler/escrever dados de um tipo primitivo (int, double, float, boolean, etc...); Atenção: este tipo de Streams não pode ser usado com Objectos (Strings, BigInteger, etc...);

Java Streams Data Streams public static void main(string[] args) throws IOException { DataOutputStream dos = new DataOutputStream(new FileOutputStream("dataStream.txt")); for(int i = 0; i < 10; i++) dos.writeint(i); DataInputStream dis = new DataInputStream(new FileInputStream("dataStream.txt")); } try { while(true) System.out.println(dis.readInt()); } catch (EOFException eof) { System.out.println("Fim do ficheiro!"); }

Java Streams Object Streams Do mesmo modo que os Data Streams são utilizados com dados primitivos, existem os Object Streams para objectos. Para se poder armazenar um Objecto num ficheiro, este deve implementar o interface Serializable.

Java Streams Object Streams public static void main(string[] args) throws IOException, ClassNotFoundException { String ola = new String("olá!"); FileOutputStream fos = new FileOutputStream("objectStream.txt"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeobject(ola); oos.close(); fos.close(); FileInputStream fis = new FileInputStream("objectStream.txt"); ObjectInputStream ois = new ObjectInputStream(fis); } System.out.println((String)ois.readObject());

Java Streams Object Streams System.out.println((String)ois.readObject()); Quando se armazenam Objectos num ficheiro, a classe do Objecto a que se refere não é especificada, pelo que quando se está a ler, é necessário indicá-lo.

Java Streams É importante fechar sempre uma Stream depois de utilizada, para evitar fugas de memória. nomedastream.close();

Java Streams - Exercicio Aproveitando a classe Pessoa da aula anterior, criar uma nova classe MainStreams (runnable) que crie um objecto do tipo Pessoa e o armazene num ficheiro. De seguida, ler o objecto do ficheiro e imprimir o primeiro e último nome e o número do BI.