A leitura e escrita de arquivos em Java é essencial para guardarmos informações que poderão ser utilizadas em execuções de um determinado programa. O Java disponibiliza algumas classes para criação, leitura e escrita de arquivos .txt .dat etc. Além disso, podemos criar pastas e ler seu conteúdo. Abaixo indicaremos as principais classes utilizadas para manipulação de arquivos em Java.
Classe File:
Função: Permite o acesso aos arquivos do sistema operacional, ou seja, representa um arquivo ou diretório, pela qual pode-se obter informações como nome, tamanho, se é ou não um diretório, se tem permissão para escrita ou leitura etc.
Veja abaixo como utilizar os métodos básicos da classe.
Criar um objeto da classe:
File arq = new File("diretório/arquivo.txt");
Verificar se um arquivo existe:
boolean testar = arq.exists();
Criar um arquivo:
arq.createNewlFile();
Criar um diretório:
arq.mkdir();
Listar todos os arquivos de um diretório:
File [] arq = arq.listFiles();Deletar um arquivo ou diretório:
arq.delete();
Classe FireWriter e BufferedWriter:
Função: Ambas as classes servem para escrita de arquivos.
Criar um objeto da classe FileWriter:
FileWriter fw = new FileWriter(local, boolean);
FileWriter fw = new FileWriter(local, boolean);
local = diretório do arquivo ou objeto da classe File;
boolean
true > Ao escrever no arquivo, o conteúdo existente não será substituído, assim o novo conteúdo será escrito no final.
false > Ao escrever no arquivo, o conteúdo existente será substituído.
false > Ao escrever no arquivo, o conteúdo existente será substituído.
Criar um objeto da classe BufferedWriter:
BufferedWriter bw = new BufferedWriter( fw );
OBS: Deve receber como argumento um objeto FileWriter, no caso "fw".
Escrever no arquivo:
bw.write( "Testo que será escrito no arquivo txt");
Para dar uma quebra de linha utilize o método:
bw.newLine();
Após a edição do arquivo e necessário fechar os recursos, caso você não feche, o arquivo poderá não ser editado.
bw.close();
fw.close();
bw.newLine();
Após a edição do arquivo e necessário fechar os recursos, caso você não feche, o arquivo poderá não ser editado.
bw.close();
fw.close();
Classes FileReader e BufferedReader
Função: Ambas as classes servem para ler arquivos de texto:
Criar objeto da classe FileReader:
FileReader fr = new FileReader("diretório/arquivo.txt");
OBS: Pode receber um diretório ou um objeto File.
Criar objeto da classe BufferedReader:
BufferedReader br = new BufferedReader(fr);
OBS: Recebe como parâmetro um objeto da classe FileReader;
Ler as linhas de um arquivo:
while( br.ready() ){
String linha = br.readLine();
}
ou
while ((linha = br.readLine()) != null) {
linha = br.readLine();
}
Ambas as classes devem ser fechadas:
br.close();
fr.close();
fr.close();
Exemplo de criação, leitura e escrita em um arquivo:
public static void main(String[] args) {
File arquivo = new File("arquivo.txt");//arquivo no local do projeto
try {
if (arquivo.exists() == false) {
//se não haver esse arquivo ele cria um
arquivo.createNewFile();
}
File[] arquivos = arquivo.listFiles(); //array para guardar as linhas do arquivo
FileWriter fw = new FileWriter(arquivo, true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Texto escrito");
bw.newLine(); //adiciona uma linha
bw.close();
fw.close();
FileReader fr = new FileReader(arquivo);
BufferedReader br = new BufferedReader(fr);
String linha = null;
while ((linha = br.readLine()) != null) { //lê a linha, enquanto não for nula. Quando chegar ao término do arquivo a livro é nula.
System.out.println(linha);
}
br.close();
fr.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
File arquivo = new File("arquivo.txt");//arquivo no local do projeto
try {
if (arquivo.exists() == false) {
//se não haver esse arquivo ele cria um
arquivo.createNewFile();
}
File[] arquivos = arquivo.listFiles(); //array para guardar as linhas do arquivo
FileWriter fw = new FileWriter(arquivo, true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Texto escrito");
bw.newLine(); //adiciona uma linha
bw.close();
fw.close();
FileReader fr = new FileReader(arquivo);
BufferedReader br = new BufferedReader(fr);
String linha = null;
while ((linha = br.readLine()) != null) { //lê a linha, enquanto não for nula. Quando chegar ao término do arquivo a livro é nula.
System.out.println(linha);
}
br.close();
fr.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
Parabéns pelos exemplos. D + Deus abencoe.
ResponderExcluir