在c:盘下建立a.txt文件,内容为”hello world”。编写I/O程序使用字节流实现把c:\a.txt文本复制到d:\a.txt,并统计字符个数。
时间: 2024-02-16 16:04:35 浏览: 83
好的,以下是使用字节流实现复制并统计字符个数的程序:
```java
import java.io.*;
public class FileCopyDemo {
public static void main(String[] args) throws IOException {
// 1. 创建输入流和输出流对象
FileInputStream fis = new FileInputStream("c:\\a.txt");
FileOutputStream fos = new FileOutputStream("d:\\a.txt");
// 2. 复制文件并统计字符个数
int count = 0;
int len;
byte[] buffer = new byte[1024];
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
count += len;
}
// 3. 关闭输入流和输出流对象
fos.close();
fis.close();
// 4. 输出字符个数
System.out.println("复制完成,共复制了 " + count + " 个字符。");
}
}
```
程序执行的过程如下:
1. 创建输入流和输出流对象,其中 `FileInputStream` 用于读取 `c:\a.txt` 文件,`FileOutputStream` 用于写入 `d:\a.txt` 文件。
2. 通过一个循环,不断从输入流中读取数据,然后写入到输出流中,同时累计字符个数。
3. 关闭输入流和输出流对象。
4. 输出字符个数。
需要注意的是,在使用字节流复制文件时,需要使用 `byte` 类型的数组作为缓冲区,每次读取一定长度的字节,然后一次性写入输出流中,这样可以提高复制的效率。
阅读全文