java在内存中建立个字节数组如果向这个字节数组中写入数据用哪个?是用输出流吗?还是用输入流?

(输入流是从硬盘到内存的读操作)那这个在内存的字节数组是内存呢还是硬盘?(输出流是从内存到硬盘的写操作)... (输入流是从硬盘到内存的读操作) 那这个在内存的字节数组是内存呢还是硬盘?(输出流是从内存到硬盘的写操作) 展开
 我来答
rayregister
2013-08-05 · TA获得超过339个赞
知道小有建树答主
回答量:100
采纳率:100%
帮助的人:65.9万
展开全部
可以考虑使用ByteArrayInputStream & ByteArrayOutputStream
字节数组位于内存

另外,“输入流是从硬盘到内存的读操作” & “输出流是从内存到硬盘的写操作” 这句严格说不正确。输入流、输出流的源和目标均是抽象概念,不一定是硬盘或者文件的
追问

知道输入输出流是啥意思就是不会用理解不了这是咋用的

总是用输入输出流的概念解释不清楚,能帮忙解释一下前几句吗?为什么他是输出流方向是从内存或者程序到文件或者硬盘而后面dos.writeDouble(Math.random);是将随机数写入内存方向不就反过来了吗

追答
ByteArrayOutputStream baos = new ByteArrayOutputStream();

建立了输出流对象baos,它有一个byte数组型的缓冲区buf用于存储数据。所谓“数据是写入内存中一个byte数组”就是说的这个buf了。

DataOutputStream dos = new DataOutputStream(baos);

用DataOutputStream来包装ByteArrayOutputStream,以便可以输出基本数据类型之类的。

 

下面两句 writeDouble 和 writeBoolean就是将一个随机double值以及一个boolean true写入内存中的byte数组buf。

 

后面再建立一个ByteArrayInputStream,而且是使用baos.toByteArray作为构造方法参数,这样就建立了一个输入流,其来源是内存中一个byte数组(数组的内容和buf一样但不是同一个)

 

再包装一层DataInputStream,然后读取double和boolean,实际是从内存中的byte数组读取值。

缘竹临溪
2013-08-05 · TA获得超过1123个赞
知道小有建树答主
回答量:579
采纳率:0%
帮助的人:417万
展开全部
用输入流,从键盘读取数据存到数组,如果你要把该字节数组存到文本中,还需要字节输出流
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jimmyc2006
2013-08-05 · TA获得超过1153个赞
知道小有建树答主
回答量:572
采纳率:100%
帮助的人:650万
展开全部
输入流从硬盘到内存,当然数组在内存了,你可以通过输出流将内存中的数组输出到硬盘。
ByteArrayInputStream和ByteArrayOutputStream可以帮助你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式