IO流总结

IO流总结,第1张

一、IO简介

1.输入输出(Input/Output)。程序与外界进行数据交换的管道

输入指的是:可以让程序从外部系统获得数据(核心含义是‘读’,读取外部数据)。

常见的应用:

读取硬盘上的文件内容到程序。例如:播放器打开一个视频文件,word打开一个doc文件

读取网络上某个位置内容到程序。例如:浏览器中输入网址后,打开该网址对应的网页内容,下载网络上某个网址的文件。

输出(Output)指的是:程序输出数据给外部系统从而可以 *** 作外部系统(核心含义是‘写’,将数据写出到外部系统)

常见的应用:

将数据写到硬盘中。例如:我们编写万一个word文档后,将内容写到硬盘进行保存。

将数据写到数据库系统中。例如:我们注册一个网址会员,实际就是后台程序向数据库写入一条记录。

2.Java中四大IO抽象类

字节流:InputStream/OutputStream 数据的单位为字节8bit int read():读取一个字节的数据,并将字节的值作为int类型返回(0~255),如果未读出字节则返回-1

字符流:Reader/Writer 数据单位为字符 int read() 读取一个字符的数据,并将字符的值作为int类型返回(0~65535)

3.Java中流的分类:

按流的方向分类:输入流(InputStream、Reader)和输出流(OutputStream、Writer)

按处理的数据单元分类:

字节流:命名上以Stream结尾的一般是字节流,如(FileInputStream、FileOutputStream)

字符流:命名上以Reader/Writer结尾的一般是字符流,如(FileReader、FileWriter)

按处理对象不同分类:

节点流:

可以直接从数据源或目的地读写数据,如FileInputStream、FileOutputStream、FileReader、FileWirter、DataInputStream、DataOutputStream

处理流:

不直接连接到数据源或目的地,通过对其他流的处理提高程序的性能,如BufferInputStream、BufferedReader等,处理流也叫作包装流。

4.Java中IO流类的体系

 
① InputStream/OutputStream 

字节流的抽象类。

② Reader/Writer

字符流的抽象类。
③ FilelnputStream/FileOutputStream

节点流:以字节为单位直接 *** 作“文件”。

④ ByteArraylnputStream/ByteArrayOutputStream

节点流:以字节为单位直接 *** 作“字节数组对象”。

⑤ ObjectInputStream/ObjectOutputStream

处理流:以字节为单位直接 *** 作“对象”。

⑥ DatalnputStream/DataOutputStream

处理流:以字节为单位直接 *** 作“基本数据类型与字符串类型”。

⑦ FileReader/FileWriter

节点流:以字符为单位直接 *** 作“文本文件”(注意:只能读写文本文件)。

⑧ BufferedReader/BufferedWriter
处理流:将Reader/Writer对象进行包装,增加缓存功能,提高读写效率。

⑨ BufferedInputStream/BufferedOutputStream
处理流:将InputStream/OutputStream对象进行包装,增加缓存功能,提高
读写效率。
⑩ InputStreamReader/OutputStreamWriter
处理流:将字节流对象转化成字符流对象。
⑪ PrintStream
处理流:将OutputStream进行包装,可以方便地输出字符,更加灵活。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/726913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存