凯哥学堂

搜索

凯哥学堂

JavaSE——数据类型流、内存流、打印流

2018-5-7 23:48| 发布者: 可可| 查看: 1| 评论: 0|原作者: 小吴

凯哥学堂 首页 资讯 学习笔记 JavaSE 查看内容

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

数据类型流

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

image

image

再从文件里读进来:

image

image

内存流

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

image

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

image

内存流结构图:

image

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

打印流

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

image

image


关注我们


微信

微博

QQ