如何在Android中随机读取原始资源文件

时间:2013-07-03 09:15:13

标签: android

在我的Android项目中,我有一个2M字节的原始数据文件。由于我的应用程序是一个长寿命的应用程序,我不希望它总是抓住2M内存。数据文件已经格式化,一旦我需要从数据文件中获取一些数据,我只需要寻找某个位置并读取几个字节。

Resource类只能在原始文件上返回InputStream,但InputStream不能进行随机读取。

Android上有没有办法从原始数据文件中随机读取一些字节?或者,当我只需要几个字节时,我必须将整个文件读入内存。

2 个答案:

答案 0 :(得分:1)

InputStream可以使用skip()跳过字节,也可以使用mark()标记偏移,reset()它可以返回标记位置。所有这些都可以用来做随机IO。 您也可以将字节偏移存储在单独的查找文件中。

答案 1 :(得分:0)

Android是基于Java构建的,所以请看一下本教程: http://docs.oracle.com/javase/tutorial/essential/io/rafs.html