[英]Read an int[] from a DataInputStream
我正在寻找一种从DataInputStream读取大量int并将其加载到数组中的方法。 我确切地知道我需要读取多少个int
,但是如果有一种比简单地迭代更简洁的方法,那将是很好的。
仅通过使用DataInputStream#read(byte[])
方法,就已经存在使用字节数组执行此操作的方法,但是int[]
没有等效的方法。 通过创建长度乘以四的字节数组,显然可以将数据读取到字节数组中,但是我确实需要int
s中的数据。
从我的角度来看,我可以使用三种可能性:
int[]
。 byte[]
转换为int[]
。 readInt()
。 尽管前两种解决方案是首选,但我目前不知道两种解决方案。 有没有简单的方法可以做到这一点而无需迭代?
看来,做到这一点的唯一方法是简单的for循环和使用readInt()
。 这就是我最终选择要做的。
您可以尝试使用ByteBuffer
,它能够将数据保留在OS内存中,因此读取速度非常快。 它还有一个getInt()
方法,该方法应允许您直接读取Integers并将它们放入数组中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.