簡體   English   中英

從DataInputStream讀取int []

[英]Read an int[] from a DataInputStream

我正在尋找一種從DataInputStream讀取大量int並將其加載到數組中的方法。 我確切地知道我需要讀取多少個int ,但是如果有一種比簡單地迭代更簡潔的方法,那將是很好的。

僅通過使用DataInputStream#read(byte[])方法,就已經存在使用字節數組執行此操作的方法,但是int[]沒有等效的方法。 通過創建長度乘以四的字節數組,顯然可以將數據讀取到字節數組中,但是我確實需要int s中的數據。

從我的角度來看,我可以使用三種可能性:

  1. 以某種方式將數據直接加載到int[]
  2. 以某種方式將byte[]轉換為int[]
  3. 遍歷數組,僅使用readInt()

盡管前兩種解決方案是首選,但我目前不知道兩種解決方案。 有沒有簡單的方法可以做到這一點而無需迭代?

看來,做到這一點的唯一方法是簡單的for循環和使用readInt() 這就是我最終選擇要做的。

您可以嘗試使用ByteBuffer ,它能夠將數據保留在OS內存中,因此讀取速度非常快。 它還有一個getInt()方法,該方法應允許您直接讀取Integers並將它們放入數組中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM