Copie la carpeta de la unidad D a la unidad E y solicite el código fuente con decisión (java)
importar java.io.*;
/**
* Copiar una o más carpetas
*/ p>
public class CopyDirectory {
// Carpeta de origen
static String url1 = "f:/photos"
// Carpeta de destino<; /p>
static String url2 = "d:/tempPhotos";
public static void main(String args[]) throws IOException {
// Crea la carpeta de destino
(new File(url2)).mkdirs();
// Obtiene el archivo o directorio actualmente ubicado en la carpeta de origen
Archivo[] archivo = (new File(url1)).listFiles();
for (int i = 0; i lt; file.length; i) {
if ( file[i] .isFile()) {
// copiarFile
copyFile(archivo[i], nuevo archivo(url2 archivo[i].getName()));
}
if (file[i].isDirectory()) {
// copiar directorio
String sourceDir=url1 Archivo Sparator.Sparator. (url2 File.Sparator)); // Copiar archivo
public static void copyFile(Archivo archivo fuente, Archivo archivo destino)
lanza IOException{
// Crear un nuevo flujo de entrada de archivo y almacenarlo en buffer
FileInputStream input = new FileInputStream(sourceFile);
BufferedInputStream inBuff=new BufferedInputStream(input);
// Crear un nuevo flujo de salida de archivo y almacenarlo en buffer
FileOutputStream output = new FileOutputStream(targetFile);
BufferedOutputStream outBuff = new BufferedOutputStream(output);
p>
// Matriz de búfer
byte[] b = nuevo byte[1024 * 5];
int len
while ((len = inBuff. leer(b)) ! = -1) {
outBuff.write(b, 0, len);
}
// Actualiza el flujo de salida de este búfer
outBuff.flush
();
Cerrar la transmisión
inBuff. cerrar ();
outBuff.close();
salida.close()
entrada.close();
Archivo archivofuente=archivo[i]
// archivodestino
;Archivo targetFile=new
Archivo(new File(targetDir).Archivo separador[i].getName());
Copiar archivo (sourceFile, targetFile); p> p>
}
if (file[i].isDirectory()) {
// Prepárese para copiar la carpeta de origen
String dir1=sourceDir "/" file[i].getName();
// Carpeta de destino para copiar
String dir2=targetDir "/" file[i].getName()
copyDirectiory(dir1, dir2);
}
}
}
}
}
}
}
}