黑马程序员技术交流社区
标题:
IO转换流笔记
[打印本页]
作者:
王训印
时间:
2015-7-28 12:17
标题:
IO转换流笔记
转换流的由来: 字符流与字节流之间的桥梁 方便了字符流与字节流之间的操作
转换流的应用: 字节流中的数据都是字符时,转成字符流操作更高效。
转换流:
InputStreamReader:字节到字符的桥梁,解码。
OutputStreamWriter:字符到字节的桥梁,编码。
InputStreamReader是字节流通向字符流的桥梁。
示例1:
1. import java.io.BufferedReader;
2. import java.io.IOException;
3. import java.io.InputStream;
4. import java.io.InputStreamReader;
05.
6. public class TransStreamDemo{
07.
8. public static void main(String[] args) throws IOException {
9. //字节流
10. InputStream in = System.in;
11.
12. //将字节转成字符的桥梁,转换流
13. InputStreamReader isr = new InputStreamReader(in);
14.
15. //对字符流进行高效装饰,缓冲区
16. BufferedReader bufr = new BufferedReader(isr);
17.
18. String line = null;
19.
20. //读取到了字符串数据
21. while((line = bufr.readLine()) != null){
22. if("over" .equals(line))
23. break;
24. System.out.println(line.toUpperCase());
25. }
26. }
27. }
复制代码
使用字节流读取一个中文字符需要读取两次,因为一个中文字符由两个字节组成,而使用字符流只需读取一次。
System.out的类型是PrintStream,属于OutputStream类别。
OutputStreamReader是字符流通向字节流的桥梁。
示例2:
1. import java.io.BufferedReader;
2. import java.io.BufferedWriter;
3. import java.io.IOException;
4. import java.io.InputStreamReader;
05. import java.io.OutputStreamWriter;
06.
07. public class TransStreamDemo{
08.
09. public static void main(String[] args) throws IOException {
10.
11. BufferedReader bufr = new BufferedReader(new
InputStreamReader(System.in));
12.
13. BufferedWriter bufw = new BufferedWriter(new
OutputStreamWriter(System.out));
14.
15. String line = null;
16.
17. while((line = bufr.readLine()) != null){
18. if("over" .equals(line))
19. break;
20.
21. bufw.write(line.toUpperCase());
22. bufw.newLine();
23. bufw.flush();
24. }
25. }
26. }
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2