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

Posted 凯哥学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE——数据类型流内存流打印流相关的知识,希望对你有一定的参考价值。

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

数据类型流

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

技术分享图片

技术分享图片

再从文件里读进来:

技术分享图片

技术分享图片

内存流

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

技术分享图片

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

技术分享图片

内存流结构图:

技术分享图片

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

打印流

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

技术分享图片

技术分享图片



以上是关于JavaSE——数据类型流内存流打印流的主要内容,如果未能解决你的问题,请参考以下文章

javaSE第二十二天

javaSE (二十二)登录注册IO版本案例数据操作流内存操作流打印流标准输入输出流随机访问流合并流序列化流PropertiesNIO

JavaSE——装饰流

有关IO流的其他常用流

详解 打印流

java 打印流(PrintStream)