黑马程序员技术交流社区
标题:
IO转换流笔记
[打印本页]
作者:
王训印
时间:
2015-7-28 21:41
标题:
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.InputStream;
5. import java.io.InputStreamReader;
6. import java.io.OutputStream;
7. import java.io.OutputStreamWriter;
08.
9. public class TransStreamDemo{
10.
11. public static void main(String[] args) throws IOException {
12.
13. InputStream in = System.in;
14.
15. InputStreamReader isr = new InputStreamReader(in);
16.
17. //字符流
18. BufferedReader bufr = new BufferedReader(isr);
19.
20. //字节流,字节数据
21. OutputStream out = System.out;
22.
23. //数据到了osw,目的地out控制台
24. OutputStreamWriter osw = new OutputStreamWriter(out);
25.
26. BufferedWriter bufw = new BufferedWriter(osw);
27.
28. String line = null;
29.
30. while((line = bufr.readLine()) != null){
31. if("over" .equals(line))
32. break;
33.
34. //将字符数据用缓冲区对象将数据写入缓冲区,目的地是osw
35. bufw.write(line.toUpperCase());
36. bufw.newLine();
37. //osw.write(line.toUpperCase() + "\r\n");可以替代上面两行代码
38. bufw.flush();
39. }
40. }
41. }
作者:
嗯十一点晚安
时间:
2015-8-1 08:39
好,写的感觉不是那么详细,看了有点晕晕的赶脚
作者:
王训印
时间:
2015-8-7 10:25
嗯十一点晚安 发表于 2015-8-1 08:39
好,写的感觉不是那么详细,看了有点晕晕的赶脚
不好意思,写的不是很规范
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2