Java 文件复制:使用缓冲流和字节数组
Java 文件复制:使用缓冲流和字节数组
本文将展示使用 Java 缓冲流和字节数组复制文件的完整代码示例。
import java.io.*;
public class CopyFile {
public static void main(String[] args) {
try {
File srcFile = new File('srcFile.txt');
File destFile = new File('destFile.txt');
FileInputStream fis = new FileInputStream(srcFile);
FileOutputStream fos = new FileOutputStream(destFile);
BufferedInputStream bis = new BufferedInputStream(fis);
BufferedOutputStream bos = new BufferedOutputStream(fos);
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bis.close();
bos.close();
System.out.println('File copied successfully!');
} catch (IOException e) {
e.printStackTrace();
}
}
}
代码解释:
- 创建文件对象: 使用
File类创建源文件 (srcFile.txt) 和目标文件 (destFile.txt) 对象。 - 创建输入/输出流: 使用
FileInputStream和FileOutputStream分别创建源文件输入流和目标文件输出流。 - 使用缓冲流: 使用
BufferedInputStream和BufferedOutputStream对输入和输出流进行缓冲,以提高效率。 - 创建字节数组: 创建一个大小为 1024 字节的字节数组
buffer,用于存储读取的字节。 - 循环读取和写入: 使用
while循环读取输入流中的字节到buffer中,然后使用write方法将这些字节写入输出流。 - 关闭流: 最后,关闭输入和输出流,以释放资源。
总结:
使用缓冲流和字节数组复制文件是高效的,因为它可以减少磁盘 I/O 操作次数,从而提高文件复制速度。这在处理大型文件时尤其有用。
注意:
- 确保源文件和目标文件存在,并且具有正确的权限。
- 可以调整
buffer的大小,以优化文件复制速度。 - 始终在使用完流后关闭它们,以避免资源泄漏。
原文地址: https://www.cveoy.top/t/topic/oTjd 著作权归作者所有。请勿转载和采集!