A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hacker◊紫猫 中级黑马   /  2014-10-2 23:10  /  1385 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

io流是非常重要的内容,其中的重中之重就是读取和输出。我在这里总结了几个公式,只要往里套就能
很快写出转换流。首先介绍几个重要的类。
字节输入InputStream
字节输出OutputStream
字节输入缓冲区BufferedInputStream
字节输出缓冲区BufferedOutputStream
他的子类FileInputStream
他的子类FileOutputStream
键盘输入System.in
屏幕输出System.out
字符输入FileReader
字符输出Filewriter
字符输入缓冲区BufferedReader
字符输出缓冲区BufferedWriter
字节专字符InputStreamReader
字符专字节OutputStreamWriter

图是我自己用画图工具花的,在创建对象时可以根据此图来创建,图中对应了1,2,3,4,5,6,6个数字,每个数字代表了一个写法一种情况,因为我们大部分处理的是大数据,并非处理一行或几个字,所以需要引入高效率的缓冲流。因为流有个方法可以一次处理一行。而且只有字符缓冲流可以有此方法。废话不多说我俩解释这6个数字所代表的含义。

源有两种,一种是字节一种是字符字节分两种情况:1键盘如入,2,来自文件,所以
1:代表源是字节来自文件像音乐图片等
2:代表源是字节来自键盘录入。
3:代表源是字符来自文件。
4:代表目的是字节去往文件像音乐图片等
5:代表目的是字节去往屏幕输出。
6:代表目的是字符去往文件。
举个例子,把一个图片拷贝到别一个图片我们创建对象时应该选择1,4因为源和目的都是字节。代码为
BufferedReader bufr = new BufferedReader(new InputStreamReader(FileInputStream("d.jpg")));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(FileOutputStream("a.jpg")));
再举个例子把一个文本打印到屏幕,是把字符到字节代码为
BufferedReader bufr = new BufferedReader(new FileReader(a.txt));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
剩下的就按毕老师的步骤来,
String line;
                while ((line=br.readLine())!=null)
                {
                        bw.write(line);
                        bw.newLine();
                        bw.flush();
                }
                br.close();
                bw.close();
异常我就不再这演示了。希望次图对新手有用。

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
很实用 谢谢
回复 使用道具 举报
不是说有图么,图呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马