首页 > 编程知识 正文

Java的输入输出流包括,输入流是什么

时间:2023-05-06 10:57:50 阅读:49015 作者:1295

一. IO流作用

IO流用于处理设备上的数据,包括文件、磁盘和网络

二.分类

取决于要处理的数据类型:字符流、字节流

按流动方向: JAVA流的处理是单向的,分为输入流和输出流

三.抽象类

1、字节流抽象类

InputStream输入流

输出流输出流

2、图文流抽象类

Reader输入字符流

Writer输出字符流

四. JAVA中游体系架构

有几个操作对流的基本方法。 用文件输入输出流说明。

1、InputStream是所有输入字节流的父类,是抽象类

保存在某个文件a.log中的数据

(1) read ) )从输入流读出数据的下一个字节并返回0到255个范围的int字节值

通常的使用方法是

返回值

)2)将从read(byte[] )输入流中读取的字节数存储在缓冲器数组中

通常的使用方法如下

返回值如下。

aaa

2、输出流是所有输出字节流的子类,他也是抽象类

(1)写入(int )将0到255范围的int字节写入输出流

然后我发现b.log的内容是a :

)2)将写入write(byte[] ) byte数组的数据写入输出流

然后我们发现b.log文件中的数据是123

3、Reader是所有输入字符流的父类,是抽象类

简单的使用方法与InputStream相同,示例如下

4、Writer是所有输出字符流的父类,是抽象类

简单的使用方法与OutputStream相同。 以下是一个示例

写入b.txt文件的数据

五. IO流中的设计模式

JAVA的IO流有很多,但根据需要继承了InputStream、OutputStream、Reader和Writer的一种,同时为了更好地扩展这些类,采用了装饰者模型。

1、首先举个简单的例子

例如,上述文件输入流读取并打印文件中的字节。 如果要扩展此类,例如如何使用缓冲区,请使用BufferedInputStream

看看缓冲输入构造函数

当发现此函数被实例化时,必须传递InputStream。 而且,在我们的例子中,fileInputStream是继承InputStream的类,所以我们可以传递给BufferedInputStream使用,同时也继承BufferedInputStream

InputStream抽象类始终实现抽象类的所有方法,并进一步实现类的扩展。 其他班级也是如此

六、使用规则总结

)1)明确操作的数据是数据源还是数据目的(读还是写)?

来源:输入流reamreader

目的:输出流写入器

)2)明确操作设备上的数据是字节还是文本?

字节: InputStream

文本: Reader

字节:输出流

文本:写入器

)3)明确数据位置的具体设备?

硬盘:文件文件的开头

内存:数组、字符串

键盘: System.in

网络:套接字

)4)明确是否需要追加功能?

需要转换-转换流inputstreamreaderoutputstreamwriter

需要效率缓冲流缓冲XXX

多个源-序列流SequenceInputStream

对象序列化—ObjectInputStream,ObjectOutputStream

保证数据输出格式-打印流printstream打印机

处理基本数据,保证字节的现状——数据输出流,数据输入流

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。