黑马程序员技术交流社区
标题:
关于IO的问题
[打印本页]
作者:
王春蕾
时间:
2014-5-20 08:43
标题:
关于IO的问题
本帖最后由 王春蕾 于 2014-5-20 08:47 编辑
最近在学习IO流时,被各种各样的类搞的头昏脑胀的,长得相似的实在太多了=_=。Reader有个子类是InputStreamReader,它跟InputStream类有什么关系啊?这两者的区别是什么?FileReader和FileInputStream又有什么关系?求解释啊
作者:
赵京
时间:
2014-5-20 09:40
我来给你回答一下:
1、InputStreamReader和InputStream区别:
A、InputStreamReader:是字符流中的一种方法,可以使用指定编码表进行读取,例如文件本来是UTF-8码表格式的的,你想用GBK码表读取,那么就可以使用InputStreamReader(“文件名”,指定码表)
B、InputStream是字节流的抽象父类,完全是不一样的概念,他的子类是FileInputStream.
2、FileReader和FileInputStream区别
A、FileReader是Reader的子类,属于字符流,可以直接读取字符文件的
B、FileInputStream是字节流,InputStream的子类,可以直接读取字节,两个是不一样的
作者:
code2014
时间:
2014-5-20 10:44
IO 流分 字节流 、字符流
字节流与字符流 中又 分为 读 、写
字节流中的读是: InputStream , 写: OutputStream。
字符流中的读:Reader、 写: Writer
只要是以InputStream或OutputStream 结束的都是 字节流。
以Reader或Writer结尾的是字符流
特殊:
转换流: InputStreamReader将字节流转换为字符流 , OutputStreamWriter将字符流转换为字节流
作者:
gentleman
时间:
2014-5-20 10:51
java.io下面有两个抽象类:InputStream和Reader
InputStream是表示字节输入流的所有类的超类
Reader是用于读取字符流的抽象类
InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。
即用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组。
弄清了两个超类的根本区别,再来看他们底下子类的使用:
InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。
InputStreamReader(“文件名”,指定码表)
FileReader和FileInputStream区别
FileReader是Reader的子类,是读取字符用的,而FileInputStream是InputStream的子类,是读取字节用的,比如读取一个文本文件时候就用FileReader而读取mp3文件时候就用FileInputStream了。
作者:
周俊波
时间:
2014-5-20 11:36
标题:
看图理解更好
本帖最后由 周俊波 于 2014-5-20 11:39 编辑
2012112215582130.jpg
(104.98 KB, 下载次数: 28)
下载附件
2014-5-20 11:37 上传
当然这个可能不全面,不过你要了解更深,去百度一下,绝对收获多多
作者:
波涛
时间:
2014-5-20 12:18
莫惆怅,闭上眼,让我们一起好好捋捋他们之间关系吧。
IO字符流两大基类Reader/Writer 【主要用于文本文件的读写】
Reader
|----InputStreamReader
| |-------FileReader
|
|----BufferedReader
Writer
|----OutStreamWriter
| |-------FileWriter
|
|----BufferedWriter
IO字节流两大基类InputStream/OutputStream 【可读写媒体文件】
InputStream
|----FileInputStream
| |--FilterInputStream
| | |---BufferedInputStream
OutputStream
|----FileOutputSteam
| |--FilterOutputSteam
| |----BufferedOutputStream
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2