Copiar um arquivo em Java

Haider Ali 12 outubro 2023
  1. Tratamento de exceções ao copiar arquivos em Java
  2. Exemplo de código de cópia de um arquivo em Java
Copiar um arquivo em Java

Neste artigo, apresentaremos o método pelo qual você pode copiar um arquivo de um local para outro. Na linguagem Java, existem bibliotecas que nos permitem mover um arquivo para outro diretório. Vamos dar uma olhada mais detalhada.

Copiar arquivos por meio do código java envolve o armazenamento de um caminho de origem e de destino em duas strings diferentes. Posteriormente, capturamos nosso arquivo desejado por meio do caminho de origem e criamos sua cópia para o local de destino. Você precisa adicionar esta biblioteca para que o código a seguir funcione.

import static java.nio.file.StandardCopyOption.*;

Aqui estão algumas exceções que você precisa controlar.

Tratamento de exceções ao copiar arquivos em Java

A seguir estão as três palavras-chave de tratamento de exceções que podem ser úteis para você.

  • Se você se deparar com uma situação em que um arquivo já está no local de destino (mesmo nome), você deve usar REPLACE_EXISTING. Isso substituirá o arquivo já existente.
  • COPY_ATTRIBUTES, esta palavra-chave preservada irá copiar os atributos vinculados ao arquivo de origem.
  • Se você não quiser que os links simbólicos sigam, o que significa que você não deseja copiar o link de destino, você pode usar NOFOLLOW_LINKS.

Exemplo de código de cópia de um arquivo em Java

import static java.nio.file.StandardCopyOption.*;

import java.io.*;
import java.nio.file.Files;
public class Main {
  public static void main(String[] args) {
    String sourcePath = "E:\\source location\\delftstack.txt"; // source file path
    String destinationPath = "E:\\destination location\\"; // destination file path
    File sourceFile = new File(sourcePath); // Creating A Source File
    File destinationFile = new File(
        destinationPath + sourceFile.getName()); // Creating A Destination File. Name stays the same
                                                 // this way, referring to getName()
    try {
      Files.copy(sourceFile.toPath(), destinationFile.toPath(), REPLACE_EXISTING);
      // Static Methods To Copy Copy source path to destination path
    } catch (Exception e) {
      System.out.println(e); // printing in case of error.
    }
  }
}

No exemplo de código acima, como você pode ver, as bibliotecas foram adicionadas. Copiamos o caminho de origem, salvamos dentro de uma string sourcepath e fizemos o mesmo com o local de destino.

Posteriormente, criamos um arquivo de origem (objeto de arquivo) e o passamos para a string do caminho de origem. Agora, sabemos que, embora geralmente copie e cole arquivos, o nome permanece o mesmo. Para fazer isso, usamos getName() com o arquivo de origem.

Usando o Files.copy(source, target, REPLACE_EXISTING); e passando os valores, copiamos um arquivo de texto em java no exemplo de código acima.

Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Artigo relacionado - Java File