数据流和内存流

Posted Rhythm黎

tags:

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

 


在前面的学习中,我们知道数据流处理的数据都是指字节或字节数组,但实际上很多时候不是这样的,它需要数据流能直接读、写各种各样的java语言的基本数据类型。

DataInputStreamDataOutputStream提供了可以直接存取java基本类型(intdouble等)的方法。对于存取基本类型,在效率上比普通字节流要快很多。它们分别继承inputStreamoutputStream,并且需要套接在InputStreamOutputStream上。

例如在一个文件中存放300个整数值,从中读取时,希望按int为基本单位进行读取,这样可以大大节省时间。

这时就需要使用DataInputStream和DataOutputStream,DataInputStream和DataOutputStream不但支持父类InputStream和OutputStream中的方法,以原有方式读写数据,同时还允许通过数据流来读写java语言的基本数据类型,包括int、float、double和double等。

 

 

 

1,内存操作流的操作对象,一定是以内存为主准,不要以程序为准。

2,实际上此时可以通过向上转型的关系,为OutputStreamInputStream.

3,内存输出流在日后的开发中也是经常使用到,所以一定要重点掌握

输入和输出都是从文件中来的,当然,也可将输出的位置设置在内存上,这就需要ByteArrayInputStream和ByteArrayOutputStream
ByteArrayInputStream:将内容写入到内存中,
ByteArrayOutputStream:将内存中数据输出
此时的操作应该以内存为操作点。
利用此类 完成一些功能。
常用方法
ByteArrayInputStream :是InputStream子类。
public class ByteArrayInputStream extends InputStream
构造方法:
ByteArrayInputStream(byte[] buf)
创建一个 ByteArrayInputStream,使用 buf 作为其缓冲区数组。
接收一个byte数组,实际上内存的输入就是在构造方法上将数据传递到内存之中。
ByteArrayOutputStream:是OutputStream子类
输出就是从内存中写出数据。

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

数据流和内存流

io流

IO流个人总结

总结13

java中的io流

I/O(输入/输出)---字节流与字符流