Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

Java IO流 PDF 下载


分享到:
时间:2021-09-22 09:39来源:http://www.java1234.com 作者:转载  侵权举报
Java IO流 PDF 下载
失效链接处理
Java IO流  PDF 下载


本站整理下载:
提取码:l8na 
 
 
相关截图:
 
主要内容:

一 .流的简述
原由:在变量、数组、对象和集合中存储的数据是暂时的,程序结束他们就丢失。
      为了保存相应数据,则出现了java 的 I/O 流 技术。
作用:将数据保存至文本文件(字符)和 二进制文件(字节)中,并能读取。
 
Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。
Java.io 包中的流支持的格式如:基本类型、对象、本地化字符集等等。
一个流可以理解为一个数据的序列:输入流 即 读取数据,输出流 即 向目标写数据。
可按以下方式分类
数据流向: 输入流 和 输出流
数据单位: 字节流 和 字符流
按功能:   节点流 和 处理流
1.输入流 和 输出流
如下图:
 
 
 
 
 
 
 
 
 
2.字节流 和 字符流
字节流和字符流的用法几乎完成全一样,区别在于字节流和字符流所操作的数据单元不同。
字节流操作的单元是数据单元是8位的字节,
字符流操作的是数据单元为16位的字符。
 
为什么要有字符流?
 
Java中字符是采用Unicode标准,Unicode 编码中,一个英文为一个字节,一个中文为两个字节。
 
 
而在UTF-8编码中,一个中文字符是3个字节。例如下面图中,“云深不知处”5个中文对应的是15个字节:-28-70-111-26-73-79-28-72-115-25-97-91-27-92-124
 
 
那么问题是,一旦将一个字符对应的字节分裂开来,就会出现乱码了。
为了更方便地处理中文这些字符,Java就推出了字符流。
 
总之:字节流可以处理一切文件,而字符流只能处理纯文本文件。
 
3、节点流和处理流
 
节点流:直接操作数据读写的流类,比如FileInputStream 。
 
处理流:对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能,例如BufferedInputStream(缓冲字节流)
 
处理流和节点流应用了Java的装饰者设计模式。
 
 
下图就很形象地描绘了节点流和处理流,处理流是对节点流的封装,最终的数据处理还是由节点流完成的。
 
在诸多处理流中,有一个非常重要,那就是缓冲流。
 
 
我们知道,程序与磁盘的交互相对于内存运算是很慢的,容易成为程序的性能瓶颈。减少程序与磁盘的交互,是提升程序效率一种有效手段。缓冲流,就应用这种思路:普通流每次读写一个字节,而缓冲流在内存中设置一个缓存区,缓冲区先存储足够的待操作数据后,再与内存或磁盘进行交互。这样,在总数据量不变的情况下,通过提高每次交互的数据量,减少了交互次数。
 
字节流本身没有缓冲区,缓冲字节流相对于字节流,效率提升非常高。
而字符流本身就带有缓冲区,缓冲字符流相对于字符流效率提升就不是那么大了。

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐