Você está na página 1de 4

Programação II - Java:

Manipulação de Arquivos.
Professor M.Sc. Anderson Soares¹
Professor M.Sc. Edson Koiti Yasojima ²
Professor M.Sc. Renato Hidaka³

1 MANIPULAÇÃO DE ARQUIVOS

1.1 BIBLIOTECA IO
A biblioteca java IO provê ferramentas para que o desenvolvedor trabalhe com
Entrada e Saída de dados através de controladores de fluxo de dados (Data Streams),
serialização e acesso aos arquivos do sistema do usuário. Como é uma biblioteca
altamente dependente de dados de entrada deve-se sempre fazer uso de tratamentos
que impeçam casos de argumentos nulos; tratamento de exceções de ponteiro nulo
(NullPointerException).

Fazendo uso dessa biblioteca é possível criar e manipular arquivos de estrutura


simples, como TXT e CSV

1.2 ESCRITA E LEITURA DE ARQUIVOS


Para ler um arquivo existente no sistema linha por linha, por exemplo, podemos
utilizar o código abaixo:

E para escrever em um arquivo do sistema é possível utilizar um código como no


exemplo a seguir:

¹andersonsoares@ufra.edu.br
²koitiyasojima@ufra.edu.br
³ renato.hidaka@ifpa.edu.br Página 1
Neste exemplo o arquivo de texto especificado na variável “file” é sobrescrito com o
um trecho do texto definido na variável ‘String s’.

Caso se faça necessária a criação do arquivo antes da escrita no mesmo é possível


ainda utilizar a função newOutputStream, que recebe como parâmetro o caminho até
o arquivo que será criado, a operação a ser feita e o texto a ser inserido no arquivo.
Para essa operação é possível utilizar um código semelhante ao do exemplo a seguir.

Neste exemplo é criado um arquivo com nome “logfile.txt” na pasta do projeto. É uma
maneira prática de registrar ocorrências e criar Log de eventos do programa. O
parâmetro “APPEND” utilizado dentro da função newOutputStream faz com que o
texto previamente escrito no documento não seja sobrescrito, e sim incrementado
pelo novo texto. Com isso é possível criar funções que recebem como parâmetro a
String de uma exceção durante a captura da mesma e seja registrado em um log para
análise posterior, por exemplo.

1.3 MANIPULAÇÃO DE ARQUIVOS E PASTAS


Dentro da biblioteca IO, particularmente dentro de sua classe File, existem algumas
funções que ajudam o desenvolvedor a manusear os arquivos, dentre elas funções que
verificam o tipo do arquivo, verificam a existência do arquivo e de seu caminho
(pastas), e funções para criação dos destes. O exemplo a seguir demonstra um

2
programa capaz de criar um arquivo e todo seu caminho de pastas, caso o diretório
seja de permissão livre para o usuário.

Também é possível excluir arquivos ou pastas existentes no sistema, o exemplo a


seguir demonstra o caso:

Nesse exemplo é feita a tentativa de exclusão do arquivo/pasta, e existem tratamentos


para alguns tipos de erros possíveis, como a inexistência do arquivo ou que o diretório
não está vazio, e por último a falta de permissões por parte do usuário para manipular
o arquivo/pasta.

Fazendo uso dos métodos isReadable(Path), isWritable(Path), and isExecutable(Path)


também é possível verificar se o usuário tem permissão para Ler, Escrever e Executar,
respectivamente, o arquivo ou diretório do caminho especificado. Em sistemas que
trabalham fortemente com nível de acesso, como UNIX, é sempre importante verificar
as permissões do usuário para aquele diretório. Isso é importante pois caso o usuário
não tenha permissões necessárias, ações como Criação e Exclusão de arquivos não
serão possíveis.

Também é possível Copiar ou Mover arquivos/pastas dentro do sistema de arquivos


acessível ao usuário, fazendo uso das funções “Files.copy” e “Files.move”,

3
simplesmente com 3 parâmetros de entrada, o primeiro é o caminho até o
arquivo/pasta de origem, o segundo o caminho até o local de destino do arquivo/pasta
e por fim um identificador que identifica se o arquivo deve ser sobrescrito caso
necessário, ou não.

Você também pode gostar