周二

来源:互联网 发布:薛之谦淘宝下线 编辑:程序博客网 时间:2024/04/30 15:06

 

今天老师先给我们详细的讲解了一下流的分类如下:

流的分类:

•       按数据流动方向

–  输入流:只能从中读取字节数据,而不能向其写出数据

–  输出流:只能向其写入字节数据,而不能从中读取数据

•       按照流所处理的数据类型

–  字节流:用于处理字节数据。

–  字符流:用于处理Unicode字符数据

•       按照流所处理的源

–  节点流:从/向一个特定的IO设备读/写数据的流

–  处理流:对已存在的流进行连接和封装的流

在对流的分类有了一定的概念后,老是又讲解了流的层次关系以及一些用法实例等等。如下:

 

 

抽象的InputStream和OutputStream类允许我们对字串及数字进行读写。为达到这个目的,还需要功能更多的子类。例如:DateInputStream和DataOutputStream允许我们对所有基本的java类型进行读写。

    文件流类与抽象的InputStream和OutputStream类相似,这些类也只支持字节级的读写操作。换言之,只能从fin对象中读取字符和字节数组。byte b=fin.read(),他们没有提供专门的数值类型,所以DataInputStream没有办法从一个文件中获取数字。

 

解决方案:java给流职责分工,某些流(FileInputStream)负责从文件或另一些更特殊的地方读入字节数据。而另一些流

(DataInputStream、PrintWriter)负责将字节“组装”成更有用的数据类型。必须综合运用这两种流,将其合并成所谓的"过滤流(FilteredStreams)",方法是将一个现成的流传递给另一个流的构建器。

 

 

 

 

原创粉丝点击