J2se(9)
--------流 IO
I---input(输入)
O---Output(输出)
在java中,所有的流,都位于 java.io.*;包中
什么是流?
答:在输入输出设备与在内存中运行的程序之间,建立一个连接通道,在这个通道传递的一组有序的数据序列,就称为"流"
输入输出设备与内存之间,所传递的一组有序的数据序列,就称为"流"
流的分类:
1、按流的方向,可以分为: 输入流 、输出流
2、按流处理的数据单位,可分为: 字节流 、字符流
3、按照流所操作的对象,可以分为: 节点流 、处理流
----------------------------------------------------------------
不管是任何类型的流,一定是从下面几个抽象类中的某一个继承而来
InputStream----它是所有输入字节流的基类 (抽象类)
OutputStream ----它是所有输出字节流的基类 (抽象类)
Reader ----它是所有输入字符流的基类 (抽象类)
Writer ----它是所有输出字符流的基类 (抽象类)
--------------------------------------------------------
1、按流的方向,分为: 输入流与输出流 (只站在内存的角度)
答:如果把数据读到内存中,这种流,就称为: 输入流
如果把内存中的数据向外读,就称为: 输出流
输入流的特点: Input****** Reader*******
输出流的特点: Output*****
Writer*******
2、按流处理的数据单位可以分为: 字节流、字符流
字节流: 每一次读取数据的单位是以字节为单位(一个字节可以表为一个数字,一个字母,一个符号,但是一个字节不能读取汉字)
字符流: 每一次读取的数据单位是以字符为单位,一个字符,可以读取一个任意符号
字节流的特点: *********Stream
字符流的特点: *********Reader ********Writer
3、按照流所有操作的对象,可以分为: 节点流与处理流
节点流: 直接对文件操作的流,就称为节点流
处理流: 直接对其他流对象操作的流,就称为处理流
使用流的注意事项:
1、使用流会产生异常,所以需要处理异常
2、流用完以后,要关闭流
1024MB---1GB
1024kb---1MB
1024byte-1kb