java在内存中建立个字节数组如果向这个字节数组中写入数据用哪个?是用输出流吗?还是用输入流?
(输入流是从硬盘到内存的读操作)那这个在内存的字节数组是内存呢还是硬盘?(输出流是从内存到硬盘的写操作)...
(输入流是从硬盘到内存的读操作) 那这个在内存的字节数组是内存呢还是硬盘?(输出流是从内存到硬盘的写操作)
展开
3个回答
展开全部
可以考虑使用ByteArrayInputStream & ByteArrayOutputStream
字节数组位于内存
另外,“输入流是从硬盘到内存的读操作” & “输出流是从内存到硬盘的写操作” 这句严格说不正确。输入流、输出流的源和目标均是抽象概念,不一定是硬盘或者文件的
字节数组位于内存
另外,“输入流是从硬盘到内存的读操作” & “输出流是从内存到硬盘的写操作” 这句严格说不正确。输入流、输出流的源和目标均是抽象概念,不一定是硬盘或者文件的
追问
追答
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数组读取值。
展开全部
用输入流,从键盘读取数据存到数组,如果你要把该字节数组存到文本中,还需要字节输出流
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入流从硬盘到内存,当然数组在内存了,你可以通过输出流将内存中的数组输出到硬盘。
ByteArrayInputStream和ByteArrayOutputStream可以帮助你
ByteArrayInputStream和ByteArrayOutputStream可以帮助你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询