Java IO 之二:传统IO (2)Reader,Writer

Reader

Reader

Writer

Writer

 

 

Reader和Writer是和InputStream/OutputStream想平行的输入输出流,其和InputStream/OutputStream的最大的区别在于,Reader/Writer是针对于16位的字符的,而InputStream/OutputStream则是针对于8bit字节的,因此,在处理文字等字符时,最好使用Reader/Writer。同时Java中还拥有类InputStreamReader和OutputStreamWriter两个不同的类来完成Strem/Reader的转化。

(一)BufferedReader/BufferedWriter

(二)CharArrayReader/CharArrayWriter

(三)PushbackReader

(四)InputStreamReader/OutputStreamWriter

(五)FileReader/FileWriter

(六)PipedReader/PipedWriter

(七)StringReader/StringWriter

上述类的使用方法基本上和上一篇博客InputSteram/OutputStream中的大体上使用都差不多。这里就不多做介绍,主要来试一下InputStreamReader和OutputStreamWriter,程序如下:

package ReaderWriter;

import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class TestInputStreamReader {
	public static void main(String[] args)
	{
		InputStreamReader inputStreamReader=new InputStreamReader(System.in);
		OutputStreamWriter outputStreamWriter=new OutputStreamWriter(System.out);

		char[] buffer=new char[8192];
		int count=0;
		try {
			while((count=inputStreamReader.read(buffer))!=-1)
					outputStreamWriter.write(buffer);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}

	}
}

使用InputStreamReader和OutputStreamWriter对System.in和System.out做了简单的封装,运行结果如下:

测试InputStreamReader/OutputStreamWriter
测试InputStreamReader/OutputStreamWriter

程序会打印出我们输入的内容。

其他的类别区别基本不大,可以参阅上一篇博客:Java IO 之一:传统IO (1)InputStream,OutputStream

 

About: happyhls


发表评论

电子邮件地址不会被公开。 必填项已用*标注