private void copyDirectory(IStorage sourceDir, IStorage destinationDir) { destinationDir.mkdirs(); IStorage[] file = sourceDir.listFiles(); for (int i = 0; i < file.length; i++) { if (file[i].isFile()) { IStorage sourceFile = file[i]; IStorage targetFile = baseDirectory.newInstance(destinationDir, file[i].getName()); copyFile(sourceFile, targetFile); } if (file[i].isDirectory()) { IStorage destination = baseDirectory.newInstance(destinationDir, file[i].getName()); copyDirectory(file[i], destination); } } }