linguagem de programação arquivos e tratamento de...

21
Linguagem de programação Arquivos e tratamento de erros Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais Campus Ponte Nova

Upload: dangcong

Post on 18-Jan-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Linguagem de programação Arquivos e tratamento de erros

Professor: Saulo Henrique Cabral Silva

Instituto Federal de Minas Gerais Campus Ponte Nova

ARQUIVOS

2

Arquivos

• Dados armazenados em variáveis e arrays são temporários... – Escopo ?

– Memória RAM

• Para retenção de longo prazo dos dados é preciso utilizar a memória secundária. – Onde os dados podem ser persistidos.

– Estamos interessados em armazenar os dados

além da execução do software.

3

Arquivos - File

• File é útil para recuperar informações sobre arquivos ou diretórios em disco.

• Um File não processa

diretamente um arquivo mas

fornece um “caminho”, uma

ligação entre o programa sendo

executado e o arquivo/diretório

ao qual se deseja manipular.

4

File

• Para construção de um File é necessário um nome de um arquivo ou diretório.

• O nome pode referenciar tanto uma URI, um diretório ou um arquivo.

File f = new File("C:\\algumArquivo.txt");

5

File - propriedades

• canRead () Verifica se o arquivo/diretório em questão é Elegível para leitura do programa.

• canWrite () Verifica se o arquivo/diretório em questão é Elegível para gravação do programa.

• exists () Verifica se o diretório ou arquivo de fato existem.e

• isFile () Verifica se o caminho especificado representa um arquivo.

• getAbsolutePath () Retorna o caminho absoluto

do arquivo ou diretório.

6

Exercício

• Crie um programa que mostre quais as propriedades de um arquivo ou diretório da sua máquina...

• Cuidado!!! Para separar arquivos e diretórios em um

ambiente Windows use: \ Para separar arquivos e diretórios em um ambiente

Unix use: /

7

FileReader (leitura)

• Efetua a entrada de dados baseada em caracteres de um arquivo.

• Marcação do arquivo para realizar a leitura do arquivo especificado.

• A partir deste momento o arquivo esta marcado no modo leitura, e o mesmo

estará sendo utilizado.

FileReader canalLeitura = new FileReader( file ); 8

FileWriter (escrita)

• Efetua a saída de dados baseada em caracteres de um arquivo.

1 FileWriter canalEscrita = new FileWriter(file);

2 FileWriter canalEscrita = new FileWriter(file,true);

• Arquivo é marcado para escrita...

• Não esqueça de fechar o arquivo!!! 9

10

TRATAMENTO DE ERROS!!!

Tratamento de erros

• Em Java cada método, e cada código define um contrato que deve seguir. – Se o mesmo ocasionar algum erro (exceção) durante o seu

processamento, ele deve ser passível de tentar contornar a situação de erro.

– Se o mesmo não for passível de ser processado e o erro não puder ser contornado, ele deve “avisar” aquele quem o chamou.

11

Método A Método B

Tratamento de erros

• Para a criação de um bloco de tratamento

de erros em Java, utilizamos o bloco: try-catch

try {

//faça algum processamento...

} catch(Exception ex){

/*caso algum erro ocorra dentro do bloco try, o bloco catch

será executado automaticamente*/

}

12

Finally

• A clausula Finally, é executada independente de qual bloco for processado.

• Ela é executada tanto no try e no catch. Isso é uma garantia!

try {

// execute alguma coisa

} catch (Exception ex) {

// contorne o problema

} finally {

// é executado de qualquer forma, tanto no try - catch

} 13

14

BUFFER’S

BufferedReader / BufferedWriter

• Buffer’s otimizados de leitura/escrita.

• Trabalham com as classes I / O do Java.

• Trabalham com um InputStream ou um OutputStream.

• Podem ser utilizados para troca

de informações entre duas máquinas.

(veremos adiante essa aplicação)

• Métodos constantemente utilizados:

– readLine( )

– write( )

15

Estrutura dos Arquivos

• Linhas terminam o caractere especial “\n”.

• A última linha de um arquivo tem

sempre o valor null.

• Métodos como flush() e close(),

são uma boa prática...

16

PRATICANDO...

17

Estrutura básica para a leitura de um arquivo (extensões livres) ...

1 – Referenciar o arquivo dentro do diretório...

2 – Criar um FileReader, utilizando a referência criada.

3 – Criar um Buffer de leitura para o arquivo em questão (BufferedReader)

4 – estrutura para efetuar a leitura de

todas as linhas do arquivo... (sugestões?)

18

Estrutura básica para a escrita de um arquivo (extensões livres!!!) ...

1 - Referenciar um diretório, atribuindo nome para o arquivo e extensão.

2 – Criar um FileWriter para marcação do arquivo como ESCRITA.

3 – Criar um BuferedWriter para a escrita otimizada do arquivo.

4 – Efetuar a escrita dos dados necessários para a aplicação

5 – Encerrar o fluxo de escrita do arquivo.

19

TP 3

20