Java – Copiar archivos

En este ejemplo te mostramos como copiar archivos de una carpeta a otra usando Java con la ayuda de InputStream y OutputStream. Para mostrar como copiar archivos usaremos un archivo de texto llamado «original.txt» que sólo contiene unas cuantas líneas.

» Ver más ejemplos de Java

Copiar archivos en Java


El código es el siguiente:

package com.decodigo.ejemplos;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 *
 * @author decodigo
 */
public class CopiarArchivo {

    public static void main(String[] args) {

        InputStream inputStream = null;
        OutputStream outputStream = null;

        try {

            File archivoOriginal = new File("/home/decodigo/Documentos/java/archivos/original.txt");
            File archivoCopia = new File("/home/decodigo/Documentos/java/archivos/copia.txt");

            inputStream = new FileInputStream(archivoOriginal);
            outputStream = new FileOutputStream(archivoCopia);

            byte[] buffer = new byte[1024];

            int length;
            while ((length = inputStream.read(buffer)) > 0) {
                outputStream.write(buffer, 0, length);
            }

            inputStream.close();
            outputStream.close();

            System.out.println("Archivo copiado.");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Como puedes ver, con la ayuda de FileInputStream y su método read, leemos un segmento del archivo en un arreglo de bytes llamado buffer, con la ayuda de un ciclo while, al mismo tiempo que leemos, escribimos el contenido usando el método write de FileOutputStream.  Finalmente y no menos importante, cerramos inputStream y outputStream con sus métodos close.

Al ejecutar el código obtenemos los siguiente:

Copiar archivos en Java

 

Tendremos una copia del archivo «original.txt» pero con el nombre «copia.txt«.

Existen otras formas de copiar archivos en Java, esta es una de las que más control te permite sobre la información copiando arreglos de bytes.  Esperamos que te sea de utilidad.

Más información en inglés: https://geekole.com/copy-files-in-java/