【经典小练习】JavaSE—拷贝文件夹
以下是一个使用Java的Files
类复制文件夹的简单示例。请注意,这个示例不会复制文件夹内的子文件夹,只会复制文件和空文件夹。
import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
public class CopyFolder {
public static void copyFolder(Path source, Path dest) throws IOException {
Files.walkFileTree(source, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
Path targetFile = dest.resolve(source.relativize(file));
Files.copy(file, targetFile);
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
Path targetDir = dest.resolve(source.relativize(dir));
Files.createDirectories(targetDir);
return FileVisitResult.CONTINUE;
}
});
}
public static void main(String[] args) {
try {
Path sourceFolder = Path.of("source_folder_path");
Path destFolder = Path.of("destination_folder_path");
copyFolder(sourceFolder, destFolder);
System.out.println("Folder copied successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
确保替换source_folder_path
和destination_folder_path
为实际的文件夹路径。这段代码使用了Files.walkFileTree
方法来遍历源文件夹的所有文件和文件夹,并使用Files.copy
和Files.createDirectories
方法来复制文件和创建空文件夹。
评论已关闭