0
我有包含超過1kk整數的文本文件。我想在恆定時間讀取第n個數字。我不允許將所有整數放入數組中。我聽說有一種使用字節操作的技術,所以我可以只寫方法「getNthInteger(int nth,int elementLengthInBytes)」或類似的東西。請給我參考這種技術,任何幫助表示讚賞!Java。如何從文本文件獲得恆定的讀取時間?
我有包含超過1kk整數的文本文件。我想在恆定時間讀取第n個數字。我不允許將所有整數放入數組中。我聽說有一種使用字節操作的技術,所以我可以只寫方法「getNthInteger(int nth,int elementLengthInBytes)」或類似的東西。請給我參考這種技術,任何幫助表示讚賞!Java。如何從文本文件獲得恆定的讀取時間?
將每個整數轉換爲長度爲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中。
查看'RandomAccessFile'對象。 –
固定大小的整數? – zch
是的,所有整數的大小都是int,長度爲32位。 – Benas