En este ejemplo vamos a ver como podemos copiar un fichero con Java. De tal manera que acabemos teniendo un segundo fichero con el mismo contenido del primer fichero.
Lo primero que haremos será crear dos objetos de tipo File, los cuales representarán al fichero origen y al fichero destino:
File origen = new File("origen.txt");
File destino = new File("destino.txt");
La idea principal para copiar un fichero con Java será la de abrir un stream de lectura, es decir, un InputStream, sobre el fichero origen, realizar la lectura a la vez que abrimos un stream de escritura sobre el fichero destino, es decir, un OutputStream. Sobre este OutputStream realizaremos la escritura.
Nos apoyamos en los objetos File creados anteriormente, así como en las clases FileInputStream y FileOutputStream para abrir los stream a los ficheros:
InputStream in = new FileInputStream(origen);
OutputStream out = new FileOutputStream(destino);
Realizamos la lectura y escritura mientras existan datos en el stream de lectura
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
Las lecturas las hacemos mediante el método .read().
Ya solo nos quedará cerrar los stream mediante el método .close() para finalizar el código de nuestro programa.
in.close();
out.close();
Cabe notar que necesitamos controlar la excepción IOException en todo el código. Es por ello, que todo el código lo tendremos en una estructura try-catch.
Ya ya tendremos realizado nuestro ejemplo que nos ayuda a copiar un fichero con Java.