1.数据流
定义一个流是输入还是输出,肯定是有参考物。
2.java中对于流的操作
输入和输出都是相对于内存。
输出(写):FileWriter weiter=new FileWriter();
输入(读):FileRader rader=new FileRader();
字符流:
以前处理数据都是字节数据,使用字节流技术
就可以完成了。
因为后期编码表的不断出现,识别某一文字的码表不为
唯一,比如中文,GBK,unicode都可以识别。
就出现了编码问题。
中文字节数据gbk--》流处理--->gbk解析就可以了。
后期:容器出现这样的问题:
中文字节数据gbk---》流处理unicode来处理---》数据错误。
为了处理文字数据,就需要通过字节流技术+编码表相结合来完成,
注意:只有文字是这样的,因为文字涉及编码问题。
其他数据比如dvd MP3 图片等不涉及这个问题的。
虽然字节流+编码表可以解决文字数据处理问题,但是较为麻烦。
为了便于使用,将字节流和编码表进行了封装,就出现了便于
文字操作的流技术:字符流。
其实字符流就是:字节流+编码表。
IO的体系:
字节流的抽象基类:
InputStream OutputStream
字符流的抽象基类:
Reader Writer
学习io流体系:看顶层(父类共性功能),用底层(子类具体对象)。
该体系的一个好处就是:
每个子类的后缀名都是所属体系的父类名称,很容易区分所属的体系。
而且每一个子类前缀名都是该子类对象的功能体现。
这样我们在使用io体系中的对象时,就是非常容易查找了。
定义一个流是输入还是输出,肯定是有参考物。
2.java中对于流的操作
输入和输出都是相对于内存。
输出(写):FileWriter weiter=new FileWriter();
输入(读):FileRader rader=new FileRader();
字符流:
以前处理数据都是字节数据,使用字节流技术
就可以完成了。
因为后期编码表的不断出现,识别某一文字的码表不为
唯一,比如中文,GBK,unicode都可以识别。
就出现了编码问题。
中文字节数据gbk--》流处理--->gbk解析就可以了。
后期:容器出现这样的问题:
中文字节数据gbk---》流处理unicode来处理---》数据错误。
为了处理文字数据,就需要通过字节流技术+编码表相结合来完成,
注意:只有文字是这样的,因为文字涉及编码问题。
其他数据比如dvd MP3 图片等不涉及这个问题的。
虽然字节流+编码表可以解决文字数据处理问题,但是较为麻烦。
为了便于使用,将字节流和编码表进行了封装,就出现了便于
文字操作的流技术:字符流。
其实字符流就是:字节流+编码表。
IO的体系:
字节流的抽象基类:
InputStream OutputStream
字符流的抽象基类:
Reader Writer
学习io流体系:看顶层(父类共性功能),用底层(子类具体对象)。
该体系的一个好处就是:
每个子类的后缀名都是所属体系的父类名称,很容易区分所属的体系。
而且每一个子类前缀名都是该子类对象的功能体现。
这样我们在使用io体系中的对象时,就是非常容易查找了。