java内存流_JavaSE——数据类型流、内存流、打印流

9b898807ea36e91e3075f66a029a484d.png

班级编号:VIP17 学员名字:小吴 课程名称:JAVASE

数据类型流

DataOutputStream是数据类型输出流,它能把基本数据类型直接写入到文件里;DataInputStream是数据类型输入输流,它能把基本数据类型直接读到程序上来,前面写出去的是什么顺序,读进来时就按写的顺序读,顺序读反了会出乱码或数据不正确,所有的流都是按先进先出原则。 先写到文件里:

d5de050b0405f21c7e5ea3504f334118.png

d9c0c813ef2b3f9897ca89401f08863d.png

再从文件里读进来:

5f91c9fc27ee56d0d9772ebbb2370b22.png

d395d22bd9629179341b243d7193cef0.png

内存流

在内存中,数组就是一块存放数据的区域,所以数组也叫数据缓存区,那么字节数组也是缓存区。ByteArrayInputStream是字节数组输入流,这个类在new对象时要给定一个字节数组,这个数组就是字节数组输入流内部的缓存区。以前我们是在磁盘文件上读取数据,现在是从内存中读取数据,读取的数据源就是字节输入流内部的缓存区,所以字节输入流的功能就是把字节数组转换成输入流,即ByteArrayInputStream将一个字节数组当作流输入的来源:

1cc453339e40b1ad5e59ce8b2161ddbe.png

ByteArrayOutputStream是字节数组输出流,它内部也有一个缓存区,new对象时不用分配,默认是32个字节,它的功能是把流转换成字节数组,就是把字节写入到缓存区里面,与字节输入流相反,即ByteArrayOutputStream可以将一个字节数组当作流输出目的地。 字节输出流有两个方法可以把缓存区的数据拿出来:toString()和toByteArray()。

41f27e22b20cd79740a5e7df5299f5bc.png

内存流结构图:

5401fab94011ff1173799ee1c3203aed.png

内存流存在的意义:字节输出流可以截取内存数据,当一个方法需要一个输出流时,把字节输出流给这个方法,这个方法里面运算的数据就会写入到字节输出流中,当调用close()方法时,缓存区里面的数据也不会消失,除非关闭程序了,然后我们就可以拿出缓存区里面的数据。

打印流

PrintStream打印流,它可以把信息打印到任何地方,磁盘文件和控制台,它可以打印一般的信息,也可以打印异常信息。new对象时给定一个输出流,它就把信息打印到这个输出流指向的地方。它可以打印任何数据信息。System类有两个方法可以设置输出流setOut()和setErr(),可以把打印流放进去:

efcb0eae97b6a700fb49c240075ddc3f.png

10488ee7fd06655b879e92fd5f03992b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值