使用java复制一个目录的文件到另一个目录
时间: 2024-04-09 12:28:57 浏览: 62
在Java中,你可以使用`java.nio.file`包中的类来实现复制目录的文件到另一个目录。下面是一个简单的示例代码:
```java
import java.io.IOException;
import java.nio.file.*;
public class DirectoryCopyExample {
public static void main(String[] args) {
Path sourceDir = Paths.get("source_directory");
Path targetDir = Paths.get("target_directory");
try {
// 复制目录及其中的所有文件和子目录
Files.walkFileTree(sourceDir, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
Path targetFile = targetDir.resolve(sourceDir.relativize(file));
Files.copy(file, targetFile, StandardCopyOption.REPLACE_EXISTING);
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
Path targetDir = targetDir.resolve(sourceDir.relativize(dir));
Files.createDirectories(targetDir);
return FileVisitResult.CONTINUE;
}
});
System.out.println("目录复制完成!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,需要将`source_directory`和`target_directory`替换为实际的源目录和目标目录路径。程序会递归地复制源目录中的所有文件和子目录到目标目录中,并保持相同的文件结构。
请注意,这段代码是一个简单示例,没有加入错误处理和异常处理。在实际使用过程中,你可能需要添加适当的错误处理和异常处理代码来处理可能出现的异常情况。
阅读全文