黑马程序员技术交流社区

标题: IO流问题 [打印本页]

作者: P神    时间: 2016-2-14 22:30
标题: IO流问题
小弟我自学Java基础  到 day21 .  
字节流和字符流,  子类父类 ,实在是很多 很繁杂,  每个类都有区别,但又不大
看了许久还是不能完全掌握.
请大神提点!  

作者: bolt    时间: 2016-2-15 00:16
我认为还是要多练习。代码打上一遍。 还有上面有讲的什么情况用什么类的。多看一遍
作者: Kudychen    时间: 2016-2-15 16:00
我也是刚学的,个人简单归纳了一下,当读取纯文本文件时可以使用字符流Reader和Writer, FileReader和FileWriter分别继承Reader和Writer,BufferedReader和BufferedWriter是其包装类,先将数据读取到内存中的缓冲区再写出去,提供整行读取readLine()和换行newLine()等方法提高读写效率,当读取非纯文本文件是使用字节流InputStream和OutputStream,FileInputStream和FileOutputStream分别继承InputStream和OutputStream,BufferedInputStream和BufferedOutputStream是其包装类,同理也是先将数据读取到内存中的缓冲区再写出去,提高读写效率。还有InputStreamReader是字节流通向字符流的桥梁,OutputStreamWriter是字符流通向字节流的桥梁,其作用顾名思义,一个是将字节文件转化为字符读到内存中,一个是将字符转化为字节写出去。另外,还SequenceInputStream用来合并多个输入流,ByteArrayOutputStream用于内存中创建一个可变长度的字节数组,提高效率并有效分配内存。剩下的就是多练习了,用多了就自然会了。
作者: 谁的苍茫    时间: 2016-2-15 16:00
重点就是要掌握好字符流和字节流,要掌握这两个就要掌握好InputStream和OutputStream 、Reader和Writer ,只要这个四个类掌握好了,子类都是用父类的方法,都是基于父类再添加的一些新的功能。所以每当要用流的时候只要分析好就不会用错,比如复制文本文件,就要考虑用什么流,需不需要提高效率,目的地和数据源的问题,通过分析就能确定使用哪个流,而IO流重点就是要掌握复制文本文件的5种方式和复制二进制文件4种方式,IO流就可以说学会了
作者: P神    时间: 2016-2-15 23:06
谁的苍茫 发表于 2016-2-15 16:00
重点就是要掌握好字符流和字节流,要掌握这两个就要掌握好InputStream和OutputStream 、Reader和Writer ,只 ...

谢谢你,我看懂了,  你眼睛挺好看  哈哈
作者: P神    时间: 2016-2-15 23:07
Kudychen 发表于 2016-2-15 16:00
我也是刚学的,个人简单归纳了一下,当读取纯文本文件时可以使用字符流Reader和Writer, FileReader和FileW ...

谢谢,写的很详细,我看的很明白谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2