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

xiaoxiao2021-02-28  101

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

//输入 InputStream in = System.in; //字节流转换为字符流,转换流InputStreamReader InputStreamReader isr = new InputStreamReader(in); //创建字符流缓冲区 BufferedReader bufr = new BufferedReader(isr); //输出 OutputStream os = System.out; //字节流转换为字符流,转换流OutputStreamWriter OutputStreamWriter 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

.....

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

转载请注明原文地址: https://www.6miu.com/read-70016.html

最新回复(0)