Como copiar, mover e deletar arquivos em Java?

A manipulação de arquivos em Java pode ser feita com File e NIO para copiar, mover e deletar arquivos de maneira eficiente e segura.

Como copiar, mover e deletar arquivos em Java?

A manipulação de arquivos é uma operação comum no desenvolvimento de sistemas. Em Java, podemos copiar, mover e deletar arquivos utilizando a API tradicional com File ou abordagens mais modernas com NIO (java.nio.file).

1. Copiando Arquivos em Java

Podemos copiar arquivos utilizando Files.copy() da API NIO.

import java.nio.file.*;
import java.io.IOException;

public class CopiarArquivo {
    public static void main(String[] args) {
        Path origem = Paths.get("C:/origem/arquivo.txt");
        Path destino = Paths.get("C:/destino/arquivo.txt");

        try {
            Files.copy(origem, destino, StandardCopyOption.REPLACE_EXISTING);
            System.out.println("Arquivo copiado com sucesso!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Nota: StandardCopyOption.REPLACE_EXISTING substitui o arquivo caso ele já exista.

2. Movendo Arquivos em Java

O método Files.move() permite mover arquivos de um diretório para outro.

try {
    Files.move(origem, destino, StandardCopyOption.REPLACE_EXISTING);
    System.out.println("Arquivo movido com sucesso!");
} catch (IOException e) {
    e.printStackTrace();
}

3. Deletando Arquivos em Java

Para excluir um arquivo, utilizamos Files.delete().

try {
    Files.delete(Paths.get("C:/destino/arquivo.txt"));
    System.out.println("Arquivo deletado com sucesso!");
} catch (IOException e) {
    e.printStackTrace();
}

Se quisermos excluir sem gerar erro caso o arquivo não exista, utilizamos Files.deleteIfExists().

Files.deleteIfExists(Paths.get("C:/destino/arquivo.txt"));

4. Comparação Entre Métodos

Método Descrição
Files.copy() Copia um arquivo para outro diretório
Files.move() Move um arquivo para outra pasta
Files.delete() Remove um arquivo do sistema

Conclusão

A manipulação de arquivos em Java pode ser feita de maneira simples e eficiente com a API NIO. Para copiar e mover arquivos, Files.copy() e Files.move() são as melhores opções. Já para exclusão, Files.deleteIfExists() evita exceções caso o arquivo não esteja presente.

A manipulação eficiente de arquivos é essencial em diversos sistemas, como backup automático, gerenciamento de logs e sincronização de dados. Aplicações de armazenamento em nuvem e transferências de arquivos entre servidores dependem desses processos para garantir segurança e confiabilidade na movimentação dos dados.

Algumas aplicações:

  • Backup e recuperação de arquivos
  • Sincronização de dados entre servidores
  • Gerenciamento de arquivos de logs
  • Movimentação de arquivos em aplicações web

Dicas para quem está começando

  • Use Files.copy() para fazer backup de arquivos
  • Prefira Files.move() para reorganizar diretórios
  • Utilize Files.deleteIfExists() para evitar exceções
  • Verifique sempre se o arquivo existe antes de manipulá-lo
  • Evite substituir arquivos sem necessidade

Contribuições de Rodrigo Farias

Compartilhe este tutorial: Como copiar, mover e deletar arquivos em Java

Compartilhe este tutorial

Continue aprendendo:

Como listar os arquivos de um diretório em Java

A listagem de arquivos em um diretório em Java pode ser feita com File, NIO e Stream API, permitindo uma navegação eficiente pelos diretórios.

Tutorial anterior

Como verificar se um arquivo existe antes de acessá-lo

A verificação da existência de um arquivo em Java pode ser feita com File.exists() ou Files.exists() para evitar exceções e manipular arquivos com segurança.

Próximo tutorial