全屏

10.2.2 文件字符流


【专业IT培训机构,真正零首付入学www.bjsxt.com


      前面介绍的文件字节流可以处理所有的文件,但是字节流不能很好的处理Unicode字符,经常会出现“乱码”现象。所以,我们处理文本文件,一般可以使用文件字符流,它以字符为单位进行操作。

【示例10-6】使用FileReader与FileWriter实现文本文件的复制

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class TestFileCopy2 {
	public static void main(String[] args) {
		// 写法和使用Stream基本一样。只不过,读取时是读取的字符。
		FileReader fr = null;
		FileWriter fw = null;
		int len = 0;
		try {
			fr = new FileReader("d:/a.txt");
			fw = new FileWriter("d:/d.txt");
			//为了提高效率,创建缓冲用的字符数组
			char[] buffer = new char[1024];
			//边读边写
			while ((len = fr.read(buffer)) != -1) {
				fw.write(buffer, 0, len);
			}

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (fw != null) {
					fw.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				if (fr != null) {
					fr.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}

      执行结果如图10-11和图10-12所示:

图10-11 示例10-6运行后d盘部分目录.png

图10-11 示例10-6运行后d盘部分目录

图10-12 d.txt文件的内容.png

图10-12 d.txt文件的内容

分类导航
点击按住视频可拖动

缩小

关闭

  • 正在学习
  • 北京总部地址:北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
  • 咨询电话:400-009-1906 010-56233821
  • Copyright 2007-2015 北京尚学堂科技有限公司
  • 京ICP备13018289号-1 京公网安备11010802015183