Java 文件复制:字符流实现 (一次读取一个字符和一个字符数组)
Java 文件复制:字符流实现 (一次读取一个字符和一个字符数组)
本文将展示如何使用 Java 文件字符输入流和输出流将文件从 D:\word\a.txt 复制到 E:\word\a.txt。我们将演示两种方法:
- 一次读取一个字符
- 一次读取一个字符数组
一次读取一个字符的方式
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 中使用字符流进行文件复制的基本方法。如果您有任何问题或建议,请随时提出!
原文地址: https://www.cveoy.top/t/topic/ok52 著作权归作者所有。请勿转载和采集!