如题,需要能够随机访问资源文件,就是要随时能读取文件任意位置,现将资源文件放到Assets里之后该如何处理?有没有类似 RandomAccessFile 的东东?

解决方案 »

  1.   

    getAssets().list(XX)不是可以获取特定路径下面的所有的资源文件吗?
    得到不是一个List<File>吗?你随机获取这个list中的file对象,然后对其进行操作,不就是和你要的效果一样了吗?
      

  2.   

    是随机访问一个dat文件,dat里存了一些数据,当条件不一样时,要读取的内容也不一样,可能读到文件的任意一处,所以要随机访问,就是要有个文件指针,能随时调整位置,而不能像流一样只能顺序操作。因为其他条件影响,又不可能使用数据库,只能是作为一个文件来操作。
      

  3.   

    刚刚了解了下:对于直接访问APK文件下的assets目录,使用AssetManager类 进行处理。具体的处理,你熟悉下API中先关的方法和属性。对于res/resource的访问:用uri实现,比如访问com.android.demo/res/raw/666.cwj文件。Uri uri = Uri.parse("android.resource://com.android.demo/raw/666.cwj"); 即可使用工程res/raw目录下的文件了。
      

  4.   


    RandomAccessFile  是在文件内可以随即访问, 你说的是要在 Assets里的一个文件内随即访问还是 随机访问Assets里所有文件的任意一个。 如果是一个文件内那用RandomAccessFile就可以啊,如果是要 随机访问Assets里所有文件的任意一个 2#说的就可以啊!
      

  5.   


            AssetFileDescriptor fdLic = mContext.getAssets().openFd("tt.mp3");
            long startOffsetLic = fdLic.getStartOffset();//这是文件在assets中的位置
            long lengthLic = fdLic.getLength();//这是长度

    提供思路。
      

  6.   

    可以保存文件名进SQLite,随机抽
    不然你随到空值怎么办