Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquivos Prof: Ekler Paulino de Mattos ekler.mattos@gmail.com CPCX/UFMS • Acesso sequencial Arquivos • Armazenamento de dados em vetores é temporário: Os dados são perdidos quando o programa termina; • Solução: utiliza-se arquivos para armazenamento a longo prazo – dados persistentes (Existem além da duração do programa); • Arquivos são utilizado diariamente: Criação da uma planilha, ou para escrever um artigo; • Arquivos são armazenados em dispositivos de armazenamento secundário: Fitas magnéticas, Disco rígido, pendrive, cds, etc… Arquivos • Arquivos são acessados basicamente de duas formas: • Acesso sequencial: Os bytes são acessados de forma sequêncial – Vantagens: • Simplicidade de armazenamento e recuperação; • Possibilidade de utilizar técnicas de bufferizacação, quando se move os dados de um dispositivo de armazenamento para outro; – Acesso sequêncial utiliza canais para transferir os fluxos de dados de um lugar para outro; Arquivos • Arquivos são acessados basicamente de duas formas: • Acesso sequencial: significa que um grupo de elementos (por exemplo, dados num array de memória ou num arquivo em disco ou em fita) é acessado numa sequência predeterminada, ordenada. – Vantagens: • Simplicidade de armazenamento; • Possibilidade de utilizar técnicas de bufferizacação, quando se move os dados de um dispositivo de armazenamento para outro; – Acesso sequêncial utiliza canais para transferir os fluxos de dados de um lugar para outro; • Exemplo: Pergaminho. Arquivos • Acesso aleatório: a capacidade de acessar um elemento arbitrário de uma seqüência em tempo igual. – Vantagens: • Acessa qualquer dado presente em um vetor de forma igual: O contrário do acesso sequencial, onde um elemento mais distante leva mais tempo para ser acessado. – Exemplo: Livro; Arquivos • O processo de bufferização consiste de uma transferência de dados através de um buffer (um vetor); • Quando o buffer é preechido, os dados são transferidos para o outro dispositivo; Arquivos Figura 1 – O Buffer. Operações Elementares de Arquivos • As operações realizadas em um arquivo são: – New: Criação de uma arquivo vazio; – Open: Abre um arquivo existente; – Old: Altera um arquivo existente; – Read: Le um Arquivo existente; – Close: Registra o arquivo; Operações Elementares de Arquivos • Exemplo: • New: Criação de uma arquivo vazio; • VAR f: File • f := New(name) Arquivos em Java • Computador processa o bit (0 ou 1), mas para o programador trabalhar é utilizado o caracteres: Digitos (0-9), Letras (a-z, A-Z), Símbolos especiais (@,#,$,%,^,(,)); • Em Java os caracteres são caracteres Unicode: composto por dois bytes onde cada byte e composto por dois bits. Arquivos em Java Registros são tipo abstratos de dados heterogêneos que servem para armazenar dados. Registros são compostos por campos. • Ex: • O registro Folha de Pagamento: é composto pelos campos: – Id do Funcionário (int) – Nome (String) – Endereço (String) – Salario-hora (double) – Nro de isencoes reinvindicadas (int) – Rendimento do ano até a presente data (int ou double) – Total Impostos retidos (int ou double) Arquivos em Java • Registros são armazenados em arquivos: • Arquivo é uma coleção de bytes; Para facilitar a busca em um arquivo cada registro possui um Id (identificador). Arquivos em Java • Java vê cada arquivo como um fluxo sequencial de bytes; • Fluxos de entrada/saída de bytes para arquivos: fluxos de bytes; • Fluxos de entrada/saída de caracteres para arquivos: fluxos de caracteres; 0 1 2 … n-1 Marcador de fim de arquivo. Arquivos em Java • Java utiliza o pacote: java.io para a manipulação de arquivos. • Os dados são manipulados através de objetos. A persistência (armazenamento) dos objetos é feito mediante processo de serialização: • De forma genérica a serialização é uma técnica usada para persistir objetos , ou seja : gravar objetos em disco , fazer a transmissão remota de objetos via rede , armazenar os objetos em um banco de dados e/ou arquivos (binários , xml, etc.) O Que é uma API API, de Application Programming Interface (ou Interface de Programação de Aplicativos) é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços. http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html Arquivos em Java/Classe File Classe File: • Usada para recuperar informações de arquivos e diretórios em disco; • Não abre arquivos e não oferecem capacidade de processamento de arquivos. • Utilizados em conjunto com outras bibliotecas do java io, para especificar arquivos ou diretórios a manipular. • Javadoc: http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html Arquivos em Java/Classe File Classe File: • Usada para recuperar informações de arquivos e diretórios em disco; • Não abre arquivos e não oferecem capacidade de processamento de arquivos. • Utilizados em conjunto com outras bibliotecas do java io, para especificar arquivos ou diretórios a manipular. • Javadoc: http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html Arquivos em Java/Classe File Exemplo 1 de manipulação da classe File: Arquivos em Java/Classe File Exemplo 2 de manipulação da classe File: Arquivos em Java/ Exemplo da Classe: FileWriter e FileReader • FileWriter: Classe destinada para escrita de arquivos de caracteres. • FileReader: Classe destinada para leitura de arquivos de caracteres. Arquivos em Java/ Exemplo da Classe: FileWriter e FileReader Exemplo 2 de manipulação da classe File: Arquivos em Java/Classe File Arquivos em Java/Classe File Exercício 1 – Utilize a Classe File para: - Criar um diretório com o nome “Aula”. Verifique se este diretório existe. Caso exista, o sistema deverá apresentar a seguinte mensagem: “Não foi possível criar o diretório. Este diretório já existe!”. - Dentro do diretório “Aula”, criar um arquivo chamado “notas”. O sistema deverá validar a existência do arquivo, se ele existir a seguinte mensagem deverá ser apresentada: “Não foi possível criar o arquivo. Este arquivo já existe!”. Arquivos em Java/Classe File Exercício 2 – Utilize a Classe File para carar um programa em Java que: 1. Criar um Diretório chamado “Aula”; 2. Verifique se o diretório existe, crie um arquivo chamado “Notas” dentro do diretório; 3. Verifique se existe o diretório “Aula2”, caso não exista, 4. Copie o arquivo “Notas” para um o diretório “Aula2”; 5. Execute o programa uma segunda vez; Acesso Sequencial: Formatter • Abertura e Escritaem Arquivos: Acesso Sequencial: Scanner • Leitura de Arquivos:
Compartilhar