Copiar o mover un fichero
Artículo por Club Developers · 22 mayo 2006
3462 vistas
Copiar ficheros:
El API no proporciona ninguna solución para la copia de ficheros, no obstante, aqu� presentamos un trozo de código que tendr�a que funcionar.
Mover un fichero:
Podemos realizar el desplazamiento de un fichero gracias al método renameTo(java.io.File) de la clase java.io.File. Pero esta solución sólo funciona dentro de en un disco físico...
Vamos pues a usar el algoritmo de copia cuando el cambio de nombre no sea suficiente:
El API no proporciona ninguna solución para la copia de ficheros, no obstante, aqu� presentamos un trozo de código que tendr�a que funcionar.
java
/** copia el fichero source en el fichero destination * devuelve true si funciona correctamente */ { boolean resultado = false; // declaración del flujo try { // creamos fichero destination.createNewFile(); // abrimos flujo // lectura por segmentos de 0.5Mb byte buffer[]=new byte[512*1024]; int nbLectura; while( (nbLectura = sourceFile.read(buffer)) != -1 ) { destinationFile.write(buffer, 0, nbLectura); } // copia correcta resultat = true; } finally { // pase lo que pase, cerramos flujo try { sourceFile.close(); try { destinationFile.close(); } return( resultat ); }
Mover un fichero:
Podemos realizar el desplazamiento de un fichero gracias al método renameTo(java.io.File) de la clase java.io.File. Pero esta solución sólo funciona dentro de en un disco físico...
Vamos pues a usar el algoritmo de copia cuando el cambio de nombre no sea suficiente:
java
if( !destination.exist() ) { // intentamos con renameTo boolean result = source.renameTo(destination); if( !result ) { // intentamos copiar result = true; result &= copiar(source, destination); result &= source.delete(); } return(result); } else { // Si el fichero destination existe, cancelamos... return(false); } }