java - 从 DataInputStream 中读取一个 int[]

标签 java file-io java-io datainputstream

我正在寻找一种从 DataInputStream 读取大量整数并将它们加载到数组中的方法。我确切地知道我需要读取多少 int,但如果有比简单迭代更简洁的方法就好了。

已经有一种方法可以对字节数组执行此操作,只需使用 DataInputStream#read(byte[]) 方法即可,但没有与 int[]< 等效的方法。我显然可以通过创建长度乘以四的字节数组将数据读入字节数组,但我确实需要 int 中的数据。

在我看来,我可以使用三种可能性:

  1. 以某种方式将数据直接加载到 int[] 中。
  2. 以某种方式将 byte[] 转换为 int[]
  3. 遍历数组并仅使用 readInt()

虽然前两个解决方案更受欢迎,但我目前还不知道有什么方法可以做到。有没有无需迭代的简单方法?

最佳答案

看起来唯一的方法就是一个简单的 for 循环并使用 readInt()。这是我最终选择做的。

关于java - 从 DataInputStream 中读取一个 int[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12188185/

相关文章:

java - 在 java servlet 中流式传输大文件

java - 如果 jvm 支持 -d64 选项,如何从 java 代码进行测试?

java - Servlet 将 arraylist 作为请求属性发送到 JSP

ruby-on-rails - 在 Rails 中上传文件

c++从文件中读取阿拉伯语文本

c++ - 从文件中读取和存储属性会给出错误的输出

java - 如何将 java.io.ObjectInputStream 转换为 java.util.stream.Stream?

java - 为什么 File.exists() 在多线程环境中表现异常?

java - 未知实体,因为属性是一个接口(interface)

java - 为什么这个算法只给出 2 的值?另外,我得到空指针异常