Java 的几种文件拷贝方式
warning:
这篇文章距离上次修改已过180天,其中的内容可能已经有所变动。
在Java中,文件复制可以通过多种方式实现,以下是几种常见的方法:
- 使用
java.io.FileInputStream
和java.io.FileOutputStream
:
try (FileInputStream fis = new FileInputStream("source.txt");
FileOutputStream fos = new FileOutputStream("dest.txt")) {
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
}
- 使用
java.nio.file.Files
类的copy
方法:
Files.copy(Paths.get("source.txt"), Paths.get("dest.txt"), StandardCopyOption.REPLACE_EXISTING);
- 使用Apache Commons IO库的
FileUtils
类:
import org.apache.commons.io.FileUtils;
FileUtils.copyFile(new File("source.txt"), new File("dest.txt"));
- 使用Java 7的
java.nio.file.Path
和Files
类:
Files.copy(Paths.get("source.txt"), Paths.get("dest.txt"), StandardCopyOption.REPLACE_EXISTING);
以上代码示例都假设源文件和目标文件都存在且路径正确。每种方法都有其优点和适用场景,例如,FileInputStream
和FileOutputStream
适合低级别的控制,而Files.copy
方法提供了更高级别的抽象,更易于使用,并且能够处理更多的复制选项。
评论已关闭