04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes...
Transcript of 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes...
![Page 1: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/1.jpg)
![Page 2: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/2.jpg)
11:42
• Introdução
• Tipos de Fluxo de Dados e de Arquivos
• Manipulação de Arquivos em Java
− Classes FileReader e FileWriter
− Classes FileInputStream e FileOutputStream
− Classe RandomAccessFile
• Visão Geral sobre a Manipulação de Arquivos em C/C++
Manipulação de Arquivos
![Page 3: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/3.jpg)
11:42
• Programas manipulam dados que geralmente se encontram na
memória do computador;
• Ex.: variáveis declaradas em um programa
• Esses dados são perdidos quando o programa é finalizado
Manipulação de Arquivos
![Page 4: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/4.jpg)
11:42Manipulação de Arquivos
![Page 5: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/5.jpg)
11:42
• Problema: como recuperar dados obtidos em uma execução anterior do programa?
• Solução: armazenar esses dados em disco na forma de arquivos
• Os arquivos permitem o armazenamento de dados por um longo período de tempo, em uma memória não-volátil, de forma independente do programa que o manipula
Manipulação de Arquivos
![Page 6: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/6.jpg)
11:42Manipulação de Arquivos
Arquivo
Lê tempo
Escrevetempo
tempo
execução
![Page 7: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/7.jpg)
11:42
• O fluxo de dados entre a aplicação e o arquivo pode ser de entrada ou de saída• Fluxo de Entrada: a aplicação lê dados do arquivo e armazena em uma variável
• Fluxo de Saída: a aplicação escreve o valor de uma variável no arquivo
Manipulação de Arquivos
ArquivoPrograma Java
ArquivoPrograma Java
![Page 8: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/8.jpg)
11:42
• Os arquivos podem ser classificados em arquivos de texto ou arquivos binários
• Arquivos de texto: são compostos por uma série de caracteres ascii agrupados em uma ou mais linhas. São compreendidos pelos seres humanos.
•Arquivos binários: composto por uma série de bytes representados por caracteres não compreendidos pelo ser humano. São menores que os arquivos de texto. Ex.: imagens, vídeo, áudio, etc.
Manipulação de Arquivos
![Page 9: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/9.jpg)
11:42
• Pacote java.io possui as classes para a manipulação de arquivos (import java.io.*;);
•Essas classes são divididas em duas hierarquias de acordo com o tipo de arquivos que manipulam:
•FileInputStream/FileOutputStream (arquivos binários)
•FileReader/FileWriter (arquivos de texto)
•Os arquivos e diretórios podem ser representados através da classe File
Manipulação de Arquivos
![Page 10: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/10.jpg)
11:42Manipulação de Arquivos
• public String getParent(); retorna o diretório pai•public list(); retorna lista de arquivos contidos no diretório•public boolean isFile(); retorna se é um arquivo•public boolean isDirectory(); retorna se é um diretório•public boolean delete(); tenta apagar o diretório ou arquivo•public long length(); retorna o tamanho do arquivo em bytes•public boolean mkdir(); cria um diretório com o nome do arquivo•public String getAbsolutePath(); retorna o caminho absoluto•public String getPath();•public String getName();
![Page 11: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/11.jpg)
11:42Manipulação de Arquivos
![Page 12: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/12.jpg)
11:42
• Utilizada para escrita em arquivos de texto
•Construtores:
•public FileReader(String name)
•public FileReader(File file)
• Usa o método read() para ler um caracter por vez
Manipulação de Arquivos
![Page 13: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/13.jpg)
11:42
• Exemplo
Manipulação de Arquivos
![Page 14: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/14.jpg)
11:42
• Para agilizar a leitura é usada a classe BufferedReader
Manipulação de Arquivos
![Page 15: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/15.jpg)
11:42
• Para agilizar a leitura é usada a classe BufferedReader
Manipulação de Arquivos
![Page 16: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/16.jpg)
11:42
• Utilizada para escrita em arquivos de texto
•Construtores:
•public FileWriter(String name)
•public FileWriter(String name, boolean append)
•public FileWriter(File file)
•public FileWriter(File file, boolean append)
• Usa o método write() para escrever um caracter por vez
Manipulação de Arquivos
![Page 17: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/17.jpg)
11:42
• Exemplo
Manipulação de Arquivos
![Page 18: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/18.jpg)
11:42
• Para agilizar a escrita é utilizada a classe BufferedWriter
Manipulação de Arquivos
![Page 19: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/19.jpg)
11:42
• Utilizada para escrita em arquivos binários
•Construtores:
•public FileOutputStream(String name)
•public FileOutputStream(String name, boolean append)
•public FileOutputStream(File file)
•public FileOutputStream(File file, boolean append)
Manipulação de Arquivos
![Page 20: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/20.jpg)
11:42
• Exemplo:
• Exercício: escrever em um arquivo o texto digitado no teclado
Manipulação de Arquivos
![Page 21: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/21.jpg)
11:42
• Utilizada para leitura de arquivos binários
•Construtores:
•public FileInputStream(String name)
•public FileInputStream(File file)
Manipulação de Arquivos
![Page 22: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/22.jpg)
11:42
• Dados dois arquivos arq1 e arq2, desenvolva programas em java
que implementem as seguintes funcionalidades:
• copia o conteúdo do arq1 para arq2
• copia o conteúdo do arq1 para arq2, ao final dele (append)
• imprime na tela todo o conteúdo do arquivo arq1
• Obs.: os arquivos arq1 e arq2 são arquivos de texto
Manipulação de Arquivos
![Page 23: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/23.jpg)
11:42
• Classe que permite a leitura e escrita em um arquivo com
acesso randômico
•Possui um file pointer que indica a posição atual para acessar o
arquivo
• o file pointer pode ser obtido através do método getFilePointer
e alterado através do método seek
Manipulação de Arquivos
![Page 24: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/24.jpg)
11:42
• Exemplo de leitura
Manipulação de Arquivos
![Page 25: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/25.jpg)
11:42
• Diferente de Java, as principais funções para manipulação de arquivos em C/C++ não utilizam os conceitos de orientação a objetos• Para manipular arquivos com essas funções deve ser seguida a sequência de operacões:• abrir o arquivo – fopen()• ler/escrever no arquivo – getc()/putc() – fgets()/fputs() – fscanf() /fprintf() •Fechar o arquivo – fclose()
Manipulação de Arquivos
![Page 26: 04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc111497959413d8c6039/html5/thumbnails/26.jpg)
11:42
• Java: Como Programar, HARVEY M. DEITEL & PAUL J. DEITEL, Prentice-Hall, 2005.•Head First Java, KATHY SIERRA & BERT BATEA, O´Reilly, 2005.•C Completo e Total, HERBERT SCHILDT, Makron Books, 1997.• www.dca.ufrn.br/~clauber/
Manipulação de Arquivos