2013-09-29 23 views
0

我有包含超過1kk整數的文本文件。我想在恆定時間讀取第n個數字。我不允許將所有整數放入數組中。我聽說有一種使用字節操作的技術,所以我可以只寫方法「getNthInteger(int nth,int elementLengthInBytes)」或類似的東西。請給我參考這種技術,任何幫助表示讚賞!Java。如何從文本文件獲得恆定的讀取時間?

+3

查看'RandomAccessFile'對象。 –

+0

固定大小的整數? – zch

+0

是的,所有整數的大小都是int,長度爲32位。 – Benas

回答

2

將每個整數轉換爲長度爲L的字節數組,然後將字節寫入文件。每個整數的L必須完全相同。然後讀取整數N,讀取從字節N * L開始的L個字節。


例如:

可以寫入到一個文件作爲4個字節與java.io.RandomAccessFile.writeInt(int)的整數。

您可以讀取與第N個整數:

java.io.RandomAccessFile.seek(n*4); 
int i = java.io.RandomAccessFile.readInt(); 

類型java.io.RandomAccessFile中的實際對象替換java.io.RandomAccessFile中。

相關問題