我想请问下各位大侠,我已经生成了一个文件,然后我把他放到了assets或者raw下,我要怎么写fopen的文件路径才是正确的?

解决方案 »

  1.   

    raw下这样读Resources res = getResources();
    InputStream myfile = res.openRawResource(R.raw.文件名);//文件名不加后缀
    assets下这样读AssetManager assetManager = getAssets();
    InputStream inputStream = assetManager.open("xxx.txt");
      

  2.   

    是C语言来写 不是java。不过还是谢谢楼上,希望还有其他的答案
      

  3.   

    要么将文件放入sdcard中,要么java代码中读取文件流到数组中传递给本地c。
    c访问不到项目目录
      

  4.   

    这个问题我已经知道答案了 谢谢大家帮助,如果是读取外存设备比如SD卡上的东西,当然是可以的,路径就是/SDCARD/ 这个我以前我就实验成功过了,然后要写入的话写入/data/data/用户数据也是OK的。那么C语言要读取android上的资源文件比如说assets或者是raw的文件的话,因为这些资源其实是在APK里,而APK是个压缩文件,所以你必须读取压缩文件里的内容,自己要写个函数来读取,用流来读取或者文件操作都是OK的。好了,就是这样 谢谢大家。
      

  5.   

    非常感谢楼主的分享,我遇到与楼主相同的问题。我用eclipse 的Link Source 链接了一些资源文件,
    生成apk包的时候他们都压缩到了.apk文件中,我如何能把它们复制到/data/data/<packagename>/下呢?请楼主指点!
      

  6.   

    APK的资源只能读取不能写入 所以你首先读取APK中的资源 然后再写入到/DATA/DATA/目录下 但是你并不能删除APK的资源 这样你的资源还是很大,所以我不并提倡这样 除非你存放的是一些存档什么的信息还OK 其他的资源都放到DATA/DATA下 并不好 
      

  7.   

    请问楼主,我想在.cpp(BootAnimation.cpp)里面读取raw下面的.txt文件,该怎么读取?
    你说
    “自己要写个函数来读取,用流来读取或者文件操作都是OK的”。
    你当初是怎么实现的,能透露下吗?
      

  8.   

    用的是网上的已经编译好的一个lib.so动态库来读的 这个库函数网上也有详细解释 大家都可以去看看用用