Buscar

ALG2-03

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ricardo.marcacini@ufms.br
Prof. Ricardo M. Marcacini
Curso:
Algoritmos e Programação IIAlgoritmos e Programação II
Manipulação de Arquivos (JAVA)Manipulação de Arquivos (JAVA)
PARTE 2 – Arquivos BináriosPARTE 2 – Arquivos Binários
Sistemas de Informação
2º Semestre / 2013
http://www.marcacini.com.br/ufms/
Aula 3
 Escrita em Arquivos Binários
 FileOutputStream e DataOutputStream
 Leitura de Arquivos Binários
 FileInputStream e DataInputStream
 Eficiência de algoritmos com manipulação de arquivos
ALG2-03-ARQUIVOS-PARTE2 2
Manipulação de Arquivo Binário
 Permite armazenar diferentes tipos de 
dados em seu formato de máquina (bytes)
 int, float, double, boolean, char, string
 É uma sequência (stream) de bytes
ALG2-03-ARQUIVOS-PARTE2 3
Manipulação de Arquivo Binário
 Permite armazenar diferentes tipos de 
dados em seu formato de máquina (bytes)
 int, float, double, boolean, char, string
 É uma sequência (stream) de bytes
 Características
 Reduz o tamanho final do arquivo 
 É necessário conhecer os tipos/estruturas de dados 
utilizados para poder “ler” o arquivo binário
ALG2-03-ARQUIVOS-PARTE2 4
Exemplo06 – Escrita de arquivos binários 
(escrevendo inteiros de 1 até 10)
ALG2-03-ARQUIVOS-PARTE2 5
Escrita de outros tipos de dados...
 DataOutputStream permite gravar diferentes tipos 
de dados em arquivos binários
 É possível gravar vários tipos (ex. int, double, float, 
boolean) em um mesmo arquivo binário?
ALG2-03-ARQUIVOS-PARTE2 6
Exemplo07 – Escrita de vários tipos primitivos em 
arquivos binários (int, float, double, boolean, char)
ALG2-03-ARQUIVOS-PARTE2 7
Leitura de um Arquivo Binário
 Arquivos binários só podem ser lidos (e 
entendidos) se você conhecer:
 Os tipos/estrutura de dados que foram escritos
 A ordem com que foram escritos
ALG2-03-ARQUIVOS-PARTE2 8
Leitura de um Arquivo Binário
 Arquivos binários só podem ser lidos (e 
entendidos) se você conhecer:
 Os tipos/estrutura de dados que foram escritos
 A ordem com que foram escritos
 Se um determinado programa salvar 
informações em um arquivo binário...
 Em geral, apenas o programa irá conseguir recuperar 
os dados salvos
 Ou se o “dono” do programa falar os 
tipos/estruturas de dados que foram utilizados!
ALG2-03-ARQUIVOS-PARTE2 9
Leitura de um Arquivo Binário
 Em Java:
 FileInputStream
 DataInputStream
 Vamos ver dois exemplos..
 Leitura do arquivo binário gerado pelo Exemplo06
 Leitura do arquivo binário gerado pelo Exemplo07
ALG2-03-ARQUIVOS-PARTE2 10
Exemplo08 – Lendo arquivo binário gerado no 
programa Exemplo06
ALG2-03-ARQUIVOS-PARTE2 11
Exemplo09 – Lendo arquivo binário gerado no 
programa Exemplo07
ALG2-03-ARQUIVOS-PARTE2 12
Eficiência de Algoritmos: Arquivos
 Imagine que precisamos obter o maior valor inteiro de 
um arquivo com 50 milhões de inteiros armazenados
 O seu programa pode armazenar apenas 1 milhão de 
inteiros na memória
 Possível algoritmo (alto nível):
 Realizar 50 acessos a disco para leitura do arquivo
 Cada acesso permite ler um bloco de 1 milhão de inteiros
 Em cada acesso armazenar o maior inteiro
 Qual a função de complexidade desse algoritmo?
ALG2-03-ARQUIVOS-PARTE2 13
Exercício 1
 Faça um programa que leia 10 inteiros do 
usuário e escreva dois métodos 
(procedimento) para:
 Armazenar em um arquivo binário
 Armazenar em um arquivo texto
 Em seguida, compare o tamanho dos dois 
arquivos gerados
 Qual é maior? Justifique!
ALG2-03-ARQUIVOS-PARTE2 14
Exercício 2
 Faça um programa que realize a operação “COPIAR 
ARQUIVO” utilizando leitura e escrita de arquivo binário
 Compare o desempenho do seu programa com/sem
 BufferedInputStream
 BufferedOutputStream
	Diapositivo 1
	Diapositivo 2
	Diapositivo 3
	Diapositivo 4
	Diapositivo 5
	Diapositivo 6
	Diapositivo 7
	Diapositivo 8
	Diapositivo 9
	Diapositivo 10
	Diapositivo 11
	Diapositivo 12
	Diapositivo 13
	Diapositivo 14

Continue navegando