HOWTO · Java

Copiar un archivo en Java

Este artículo presenta cómo copiar archivos de una ubicación a otra en Java.

En esta página

En este artículo, presentaremos el método para copiar un archivo de una ubicación a otra. En el lenguaje Java, existen bibliotecas que nos permiten mover un archivo a otro directorio. Echemos un vistazo más profundo.

Copiar archivos a través del código Java implica almacenar una ruta de origen y destino en dos cadenas diferentes. Más tarde, capturamos nuestro archivo deseado a través de la ruta de origen y creamos su copia para la ubicación de destino. Debe agregar esta biblioteca para que funcione el siguiente código.

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

Aquí hay algunas excepciones que debe manejar.

Manejo de excepciones al copiar archivos en Java

A continuación, se incluyen las tres palabras clave de manejo de excepciones que pueden resultarle útiles.

  • Si se encuentra con una situación en la que un archivo ya se encuentra en la ubicación de destino (mismo nombre), debe usar REPLACE_EXISTING. Esto reemplazará el archivo ya existente.
  • COPY_ATTRIBUTES, esta palabra clave preservada copiará los atributos vinculados con el archivo fuente.
  • Si no desea que sigan los enlaces simbólicos, lo que significa que no desea copiar el enlace de destino, puede utilizar NOFOLLOW_LINKS.

Código de ejemplo para copiar un archivo en 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.
    }
  }
}

En el ejemplo de código anterior, como puede ver, se agregan las bibliotecas. Copiamos la ruta de origen, la guardamos dentro de una cadena sourcepath e hicimos lo mismo con la ubicación de destino.

Más tarde, creamos un archivo de origen (objeto de archivo) y lo pasamos a la cadena de la ruta de origen. Ahora, sabemos que aunque normalmente copiamos y pegamos archivos, el nombre sigue siendo el mismo. Para hacer eso, usamos getName() con el archivo fuente.

Mediante el uso de Files.copy(source, target, REPLACE_EXISTING); comando y pasando los valores, hemos copiado un archivo de texto en java en el ejemplo de código anterior.