Arquivos - profsalu.com.br

Propaganda
Estrutura de Dados
Arquivos
Prof. Salustiano Rodrigues de Oliveira
[email protected]
www.profsalu.com.br
Arquivo Texto (.txt)
Os computadores utilizam os arquivos como
estruturas de dados para armazenamento de longo
prazo de grandes volumes de dados. Dados mantidos em
arquivos são chamados de dados persistentes porque
eles existem além da duração da execução do programa
em dispositivos de armazenamento secundário como
disquete, disco rígido, entre outros.
2
Arquivo Texto (.txt)
Os arquivos no formato texto geralmente são
encontrados com nomes com a extensão padrão
.txt (abreviação de TEXT, ou texto em inglês).
Arquivos texto podem ser facilmente lido ou
abertos por qualquer programa que lê texto e, por
essa razão, são considerados universais.
3
O pacote java.io
Programas Java implementam o processamento de
arquivos utilizando as classes do pacote java.io. A
hierarquia de classes oferecida por este pacote, é
relativamente grande e complexa, oferecendo mais de
50 classes distintas para o processamento de entrada e
saída em arquivos baseados em bytes e caracteres e
arquivos de acesso aleatório.
4
O pacote java.io
Os arquivos são abertos criando-se objetos através de uma das classes
de fluxo:
• FileInputStream: para entrada baseada em bytes de um arquivo.
• FileOutputStream: para saída baseada em bytes para um arquivo.
• RandomAccessFile: para entrada e saída baseada em bytes de e
para um arquivo.
• FileReader: para entrada baseada em caracteres de um arquivo.
• FileWriter: para saída baseada em caracteres para um arquivo.
5
O pacote java.io
6
Arquivo Texto (.txt)
Nos arquivos de texto os dados são organizados
como uma sequência de caracteres dividida em
linhas terminadas por um caractere de fim de linha
(\n). A interação de um programa com um
dispositivo através de arquivos passa por três
etapas: abertura ou criação de um arquivo, leitura
ou gravação de dados e fechamento do arquivo.
7
A classe RandomAccessFile
• A classe RandomAccessFile fornece uma forma muito
conveniente de ler ou modificar o conteúdo de um arquivo.
O que diferencia esta classe de outras classes de leitura e
escrita do Java é que a classe RandomAccessFile permite o
acesso à posições aleatórias de um arquivo.
• Desta forma, um cursor de arquivo ou ponteiro nos
permite navegar pelo conteúdo do arquivo e atingir as
posições a serem lidas ou modificadas.
8
A classe Produto
9
Abrindo o Arquivo
1- Passa como parâmetro do constructor de RandomAcessFile o local do
arquivo (caminho) e qual operação será utilizada (rw).
– r (read) = Leitura
– w (write) = Escrita
2- O método seek() procura pelo final do arquivo, passando como parâmetro
o tamanho do arquivo em bytes com o método length(), o programa saberá
aonde deverá começar a escrita.
3- Repare que o método abrirArquivo() possui o commando throws Exception
(exceção).
10
Exceções
• Uma exceção representa uma situação que
normalmente não ocorre e representa algo de
estranho ou inesperado no sistema.
• O java possui diversas maneiras de tartar
exceções.
11
Fechando um arquivo
3- o método close() fecha o arquivo;
12
Gravando dados em um arquivo
4- O método writeBytes() escreve no arquivo.
OBS: Devemos indicar a quebra de linha
quando necessário utilizando o comando “/n”.
13
Lendo dados de um arquivo
5-Passa como parâmetro do constructor de
RandomAcessFile o local do arquivo (caminho) e
qual operação será utilizada (r).
– r (read) = Leitura
14
Lendo dados de um arquivo
• 6- A variável linha do tipo String recebe o
método readLine(), esse método lê a próxima
linha do arquivo.
• 7- Imprime o conteúdo da variável linha
enquanto ela não for nula.
• 8- Pula para a próxima linha do arquivo.
15
Download