2013-07-03 41 views
0

在我的Android項目中,我有一個2M字節的原始數據文件。由於我的應用程序是一個長壽命的應用程序,我不希望它總是抓住2M內存。數據文件已被格式化,一旦我需要從數據文件中獲取一些數據,我只需要尋找某個位置並讀取幾個字節。如何隨機讀取Android中的原始資源文件

Resource類只能在原始文件上返回InputStream,但InputStream不能進行隨機讀取。

有沒有在Android上從原始數據文件中隨機讀取一些字節的方法?或者當我只需要幾個字節時,我必須將整個文件讀入內存。

+0

是否有可能將該大文件分割成幾個較小的文件? – gunar

回答

1

InputStream可以跳過與skip(),也標誌着一個與mark()偏移,字節的reset()它可以回到標記的位置。所有可以用來做隨機IO的東西。 也可以將字節偏移量存儲在單獨的查找文件中。

+0

當InputStream上的skip()時,我不知道底層實現是在執行seek()還是隻是讀取所有要跳過的字節。 – TieDad