我目前在Android應用中,我將需要讀取存儲在文件中的一些值的規劃階段。這些值將是一個未知(但可能很大)的數量,在應用程序中加載時會被放入FloatBuffer
。 浮動值將以五人一組,三人一組。有效存儲float和短值的陣列在一個文件
當談到高效的文件寫入(或讀取)時我沒有那麼多的經驗,但我的想法是使用DataOutputStream
創建文件來編寫浮點數,前面帶有描述五-groups。在這之後,可以寫出三組。
當我寫這我還發現了FileChannel
這可以直接讀入緩衝區的幫助,但我從來沒有使用過這一點,是有點不確定如何在這種情況下使用它。現在
,之前,我確實寫任何代碼,我想獲得一些這方面的投入。使用它會有效嗎(我正在考慮從文件讀入緩衝區),還是有更好的方法去解決它?
我會包括一些規格如下文件:
文件必須能:
- 內含五輛花車。
- 包含三個浮動組。 (不論是在同一個文件)
- 訂購。組的順序非常重要,以及組中值的順序。
- 允許有效(快速並沒有太多存儲器消耗)讀入FloatBuffer。
文件將不必爲:
- 修改。該應用程序將只讀取文件中的數據,它們將不會在被修改後被修改。
- 安全。文件中的數據永遠不會表示任何內容,如密碼或其他敏感數據。
- 快寫。預先在計算機上完成文件的創建。在移動應用程序中它將是隻讀的。
謝謝您的答覆。
編輯:經過一些快速和髒的測試後,我比較了RandomAccessFile和用於讀取數據的緩衝DataInputStream的性能。結果顯示DataInputStream更快(10-100%,取決於文件數量)。
您也可以使用'Scanner'從文件中讀取 - 或者'RandomAccessFile' – fge 2012-01-06 11:57:13