Copiar un archivo en Java

Haider Ali 12 octubre 2023
  1. Manejo de excepciones al copiar archivos en Java
  2. Código de ejemplo para copiar un archivo en Java
Copiar un archivo en Java

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.

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

Artículo relacionado - Java File