Java 文件复制:字符流实现 (一次读取一个字符和一个字符数组)

本文将展示如何使用 Java 文件字符输入流和输出流将文件从 D:\word\a.txt 复制到 E:\word\a.txt。我们将演示两种方法:

  1. 一次读取一个字符
  2. 一次读取一个字符数组

一次读取一个字符的方式

import java.io.*;

public class FileCopy {

    public static void main(String[] args) {
        File srcFile = new File('D:\word\a.txt');
        File destFile = new File('E:\word\a.txt');

        FileReader reader = null;
        FileWriter writer = null;

        try {
            reader = new FileReader(srcFile);
            writer = new FileWriter(destFile);

            int ch;
            while ((ch = reader.read()) != -1) {
                writer.write(ch);
            }

            System.out.println('文件复制成功!');

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (reader != null) {
                    reader.close();
                }
                if (writer != null) {
                    writer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

一次读取一个字符数组的方式

import java.io.*;

public class FileCopy {

    public static void main(String[] args) {
        File srcFile = new File('D:\word\a.txt');
        File destFile = new File('E:\word\a.txt');

        FileReader reader = null;
        FileWriter writer = null;

        try {
            reader = new FileReader(srcFile);
            writer = new FileWriter(destFile);

            char[] buf = new char[1024];
            int len;
            while ((len = reader.read(buf)) != -1) {
                writer.write(buf, 0, len);
            }

            System.out.println('文件复制成功!');

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (reader != null) {
                    reader.close();
                }
                if (writer != null) {
                    writer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

注意:

  • 以上代码示例中,我们使用了 FileReader 和 FileWriter 类来进行文件字符输入和输出操作。
  • try-finally 块用于确保无论是否出现异常,都能及时关闭输入流和输出流,避免资源泄漏。
  • 在实际应用中,建议使用 BufferedReader 和 BufferedWriter 类来提高文件读写效率。
  • 请根据实际情况修改代码中的文件路径。

希望本文能帮助您理解 Java 中使用字符流进行文件复制的基本方法。如果您有任何问题或建议,请随时提出!

Java 文件复制:字符流实现 (一次读取一个字符和一个字符数组)

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

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