Dominando Operações de Arquivo em Java com java.io – Criação, Leitura, Escrita e Exclusão
Classe File em Java
Neste tutorial, exploramos a classe java.io.File e suas operações essenciais de sistema de arquivos, ilustradas com exemplos claros.
A classe File do pacote java.io fornece uma interface programática para trabalhar com arquivos e diretórios no sistema de arquivos. Embora a API mais nova java.nio.file ofereça capacidades adicionais, este guia foca na abordagem clássica java.io.
Arquivo e Diretório
Um arquivo é um local de armazenamento nomeado para dados. Por exemplo, Main.java contém código-fonte para um programa Java.
Um diretório (ou pasta) é um contêiner que pode conter arquivos e outros diretórios—subdiretórios. Entender esses conceitos é a base para manipular o sistema de arquivos em Java.
Criando um objeto File
Primeiro, importe a classe:
import java.io.File; Então instancie com um caminho:
// Cria um objeto File representando o caminho File arquivo = new File("caminho/para/arquivo.txt"); A instância File é meramente uma representação abstrata; não cria o arquivo físico no disco.
Nota: Instanciar File não cria arquivo; apenas mantém o pathname.
Principais operações de arquivo
| Operação | Método | Pacote |
|---|---|---|
| Criar arquivo | createNewFile() | java.io.File |
| Ler arquivo | read() | java.io.FileReader |
| Escrever em arquivo | write() | java.io.FileWriter |
| Excluir arquivo | delete() | java.io.File |
Criando arquivos
O método createNewFile() tenta criar novo arquivo no caminho especificado. Retorna:
truese o arquivo não existia anteriormente e foi criado.falsese arquivo já existe naquele local.
Exemplo: Criar novo arquivo
import java.io.File; public class Main { public static void main(String[] args) { File arquivo = new File("novoArquivo.txt"); try { boolean criado = arquivo.createNewFile(); if (criado) { System.out.println("O novo arquivo foi criado."); } else { System.out.println("O arquivo já existe."); } } catch (Exception e) { e.printStackTrace(); } } } Se novoArquivo.txt estiver ausente, o programa exibe:
O novo arquivo foi criado.
Se já existe, a saída é:
O arquivo já existe.
Lendo arquivos
Leitura pode ser feita via subclasses de InputStream ou Reader. Uma escolha comum é FileReader.
Exemplo: Ler arquivo com FileReader
import java.io.FileReader; public class Main { public static void main(String[] args) { char[] buffer = new char[100]; try { FileReader leitor = new FileReader("entrada.txt"); leitor.read(buffer); System.out.println("Dados no arquivo:"); System.out.println(buffer); leitor.close(); } catch (Exception e) { e.printStackTrace(); } } } O arquivo de exemplo entrada.txt contém:
Esta é uma linha de texto dentro do arquivo. Executando o programa imprime:
Dados no arquivo: Esta é uma linha de texto dentro do arquivo.
Escrevendo em arquivos
Escrita é tipicamente realizada com subclasses de OutputStream ou Writer, como FileWriter.
Exemplo: Escrever em arquivo com FileWriter
import java.io.FileWriter; public class Main { public static void main(String[] args) { String dados = "Estes são os dados no arquivo de saída"; try { FileWriter escritor = new FileWriter("saida.txt"); escritor.write(dados); System.out.println("Dados escritos no arquivo."); escritor.close(); } catch (Exception e) { e.printStackTrace(); } } } O saida.txt resultante contém:
Estes são os dados no arquivo de saída. Excluindo arquivos
O método delete() remove o arquivo ou diretório especificado. Retorna:
truese a exclusão sucedeu.falsese o arquivo não existia ou não pôde ser excluído.
Nota: Apenas diretórios vazios podem ser excluídos usando delete().
Exemplo: Excluir arquivo
import java.io.File; public class Main { public static void main(String[] args) { File arquivo = new File("arquivo.txt"); boolean excluido = arquivo.delete(); if (excluido) { System.out.println("O arquivo foi excluído."); } else { System.out.println("O arquivo não foi excluído."); } } } Saída:
O arquivo foi excluído.
Exemplos relacionados
- Java criar diretório
- Java renomear arquivo
- Java listar arquivos em diretório
- Java copiar arquivos
Java
- Entendendo a Palavra-chave final em Java: Variáveis, Métodos e Classes
- Operador instanceof em Java: Guia Completo
- Dominando Herança em Java: Conceitos, Tipos e Exemplos Práticos
- Entendendo Classes Aninhadas Estáticas em Java: Uso, Diferenças e Exemplos
- Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
- Padrão Singleton em Java Explicado: Como Implementar e Usar com Segurança
- Dominando Reflection em Java: Inspecionando Classes, Métodos e Campos em Tempo de Execução
- Dominando Java ObjectOutputStream: Serialização, Métodos e Exemplos Práticos
- Dominando Java BufferedReader: Manipulação Eficiente de Streams de Caracteres
- Dominando Java Generics – Construindo Código Reutilizável e Type-Safe