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();
        }
    }
}

代码解释:

  1. 创建文件对象: 使用 File 类创建源文件 (srcFile.txt) 和目标文件 (destFile.txt) 对象。
  2. 创建输入/输出流: 使用 FileInputStreamFileOutputStream 分别创建源文件输入流和目标文件输出流。
  3. 使用缓冲流: 使用 BufferedInputStreamBufferedOutputStream 对输入和输出流进行缓冲,以提高效率。
  4. 创建字节数组: 创建一个大小为 1024 字节的字节数组 buffer,用于存储读取的字节。
  5. 循环读取和写入: 使用 while 循环读取输入流中的字节到 buffer 中,然后使用 write 方法将这些字节写入输出流。
  6. 关闭流: 最后,关闭输入和输出流,以释放资源。

总结:

使用缓冲流和字节数组复制文件是高效的,因为它可以减少磁盘 I/O 操作次数,从而提高文件复制速度。这在处理大型文件时尤其有用。

注意:

  • 确保源文件和目标文件存在,并且具有正确的权限。
  • 可以调整 buffer 的大小,以优化文件复制速度。
  • 始终在使用完流后关闭它们,以避免资源泄漏。
Java 文件复制:使用缓冲流和字节数组

原文地址: https://www.cveoy.top/t/topic/oTjd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录