[英]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.