字符流---输入输出与复制文本文件

时间:2022-07-22
本文章向大家介绍字符流---输入输出与复制文本文件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

整体与字符流一致,详见字节流—输入输出字节流—复制文件和文件夹

代码如下

字符流输入

package cn.hxh.io.charIO;

import java.io.*;

public class Demo01 {

	public static void main(String[] args) {
		File in = new File("D:/aa/a.txt");
		Reader r;
		String s = null;
		try {
			r = new FileReader(in);
			char[] flush = new char[1024];
			int len = 0;
			while (-1 != (len = r.read(flush))) {
				s = new String(flush, 0, len);
			}
			r.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		System.out.print(s);
	}

}

字符流输出

package cn.hxh.io.charIO;

import java.io.*;

public class Demo02 {

	public static void main(String[] args) {
		File src = new File("d:/aa/a.txt");
		Writer w = null;
		String s = "写入rn";
		try {
			w = new FileWriter(src);
			w.write(s);
			w.flush();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (w != null) {
				try {
					w.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
				;
			}
		}
	}
}

通过字符流复制文本文件

package cn.hxh.io.charIO;

import java.io.*;

public class charCpyeFile {

	public static void main(String[] args) {
		File in = new File("D:/aa/a.txt");
		File out = new File("D:/aa/b.txt");
		Reader re = null;
		Writer wr = null;
		char[] flush = new char[1024];
		int len = 0;
		try {
			re = new FileReader(in);
			wr = new FileWriter(out);
			while (-1 != (len = re.read(flush)))
				wr.write(flush, 0, len);
			wr.flush();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {

			try {
				if (wr != null)
					wr.close();
				if (re != null)
					re.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}
	}

}