Anda di halaman 1dari 9

Campus de Ilha Solteira

MAT 0924 Arquivos em


Java

Curso de Engenharia Mecnica


Prof. Christiane Marie Schweitzer
chris@mat.feis.unesp.br
Manipulando Arquivos em Java
 Praticamente todos que trabalham com
desenvolvimento, de uma forma ou de outra, acabam
tendo que manipular arquivos, sejam eles de texto,
planilhas ou gerar relatrios.
 A seguir ser visto como manipular arquivos com Java,
bem como escrever e ler arquivos no formato de texto
(txt).
 A manipulao de arquivos em Java acontece de forma
simples e rpida, pois a linguagem dispe de classes
que executam praticamente todas as operaes
necessrias para tanto.
2
java.io.File
 A classe File representa um arquivo ou diretrio
no sistema operacional. Importante saber que
apenas REPRESENTA, no significa que o
arquivo ou diretrio realmente exista.
 Para instanciar um objeto do tipo File:
File arquivo = new File("/home/hallan/nome_do_arquivo.txt");

Aspectos Avanados de Programao


 Com o objeto instanciado, possvel fazer
algumas verificaes, como por exemplo se o
arquivo ou diretrio existe:
//verifica se o arquivo ou diretrio existe boolean existe =
arquivo.exists();
 Caso no exista, possvel criar um arquivo ou
diretrio:
//cria um arquivo (vazio)
arquivo.createNewFile();
//cria um diretrio
arquivo.mkdir();

Aspectos Avanados de Programao


 caso seja um diretrio, possvel listar seus
arquivos e diretrios atravs do mtodo
listFiles(), que retorna um vetor de File:
//caso seja um diretrio, possvel listar seus arquivos e
diretrios
File [] arquivos = arquivo.listFiles();
 possvel tambm excluir o arquivo ou diretrio
atravs do mtodo delete(). Uma observao
importante que, caso seja um diretrio, para
poder excluir, este tem de estar vazio:
//exclui o arquivo ou diretrio
arquivo.delete();

Aspectos Avanados de Programao


java.io.FileReader e
java.io.BufferedReader
 As classes FileReader e BufferedReader servem para
ler arquivos em formato texto. A classe FileReader
recebe como argumento o objeto File do arquivo a ser
lido:
//construtor que recebe o objeto do tipo arquivo
FileReader fr = new FileReader( arquivo );
 A classe BufferedReader, fornece o mtodo readLine()
para leitura do arquivo:
//construtor que recebe o objeto do tipo FileReader
BufferedReader br = new BufferedReader( fr );

Aspectos Avanados de Programao


 Para ler o arquivo, basta utilizar o mtodo ready(), que
retorna se o arquivo tem mais linhas a ser lido, e o
mtodo readLine(), que retorna a linha atual e passa o
buffer para a prxima linha:
//enquanto houver mais linhas
while( br.ready() )
{ //l a proxima linha
String linha = br.readLine();
//faz algo com a linha
}
 Da mesma forma que a escrita, a leitura deve fechar os
recursos:
br.close();
fr.close();

Aspectos Avanados de Programao


public static void main(String[] args)
{ File arquivo = new File(c:/temp/nome_do_arquivo.txt");
try {
if (!arquivo.exists())
{ //cria um arquivo (vazio)
arquivo.createNewFile();
}
//caso seja um diretrio, possvel listar seus arquivos e diretrios
File[] arquivos = arquivo.listFiles();
//escreve no arquivo FileWriter fw =
new FileWriter(arquivo, true);
BufferedWriter bw = new
BufferedWriter(fw);
bw.write("Texto a ser escrito no txt");
bw.newLine();
bw.close();
fw.close();
Aspectos Avanados de Programao
FileReader fr = new FileReader(arquivo);
BufferedReader br = new BufferedReader(fr);
//enquanto houver mais linhas
while (br.ready())
{ //l a proxima linha
String linha = br.readLine();
//faz algo com a linha
System.out.println(linha);
}
br.close();
fr.close();
} catch (IOException ex) { ex.printStackTrace(); }

Aspectos Avanados de Programao

Anda mungkin juga menyukai