Java IO流(三) 流转换和流操作的基本规律

来源:互联网 发布:呼不停软件 编辑:程序博客网 时间:2024/05/16 11:06

通过学习前两篇的流基本类,对流的操作有了基本的认识。在一些操作中,当处理某些字节流时,如果可以使用字符流的一些方法,例如readLine()方法等,可以更加方便快速的解决问题,所以就有了流之间的转换,通过查阅API发现,有InputStreamReader和OutputStreamWriter两个方法,即可以实现字节流和字符流之间的转换。下面通过一个实例演示一下:

//输入InputStream in = System.in;//字节流转换为字符流,转换流InputStreamReaderInputStreamReader isr = new InputStreamReader(in);//创建字符流缓冲区BufferedReader bufr = new BufferedReader(isr);//输出OutputStream os = System.out;//字节流转换为字符流,转换流OutputStreamWriterOutputStreamWriter osw = new OutputStreamWriter(os);//创建字符流缓冲区BufferedWriter bufw = new BufferedWriter(osw);String line = null;while((line  =bufr.readLine()) != null){if ("over".equals(line)) {break;}bufw.write(line.toUpperCase());bufw.newLine();bufw.flush();}bufr.close();
上述的流转换也可以简写成以下方式:

BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
流操作的一般规律:

1.明确源和目的

源:InputStream ;Reader 目的:OutputStream ;Writer

2.明确操作文件类型

文本文件:Reader ;Writer非文本文件:InputStream ;OutputStream

3.明确具体操作对象

文件:FileReader ;FileWriter   FileInputStream ;FileOutputStream

.....

在使用流操作时,数据量大时,可以使用缓冲区来进行提高效率的操作。

0 0
原创粉丝点击