Java基础总结-流

来源:互联网 发布:php abstract 继承 编辑:程序博客网 时间:2024/06/09 16:19

流(IO)想象流的不同的类时,想象成不同的管道     一段接着程序,另外一段接着数据源

在Java程序中,对于数据的输入/输出操作以 "流"(stream)方式进行;J2SDK提供了各种各样的 "流"类,用以获取不同种类的数据;程序中通过 /*标准*/的方法输入或输出数据.


java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功能:可以从不同的角度对其进行分类:

按数据流的方向不同可以分为 /*输入流和输出流.*/ (站在程序的角度,判断输入输出) /*输入指输入到为程序分配的内存空间,输出指输出到一个新的文件*/

按处理数据单位不同可以分为 /*字节流和字符流.*/  (字节流(读010101,一个字节一个字节往外读),字符流:一个字符一个字符往外读(一个字符两个字节))

按功能不同可以分为 /*节点流和处理流. */  (节点流:直接连接数据源的; 处理流:连接节点流或其他处理流,功能更加强大)

J2SDK 所提供的所有流类型位于包java.io内都分别继承自以下四种抽象流类型.

                      字节流             字符流

输入流 InputStreamReader

输出流    OutputStream         Writer


/*把它们当做四种管道,想象流的不同的类时,想象成不同的道道,一段接着程序,另外一段接着数据源,可以从数据源往外读数据,也可以往里写*/

InputStream

继承自 InputStream 的流都是用于向程序输入数据,且数据的单位为字节(8bit)

OutputStream 

继承自 OutputStream 的流都是用于向程序输出数据,且数据的单位为字节

Reader 

继承自 Reader 的流都是用于向程序输入数据,且数据的单位为字符(16bit)

Writer

继承自 Writer 的流都是用于向程序输出数据,且数据的单位为字符