myq_26 2012-09-21 02:19 采纳率: 16.7%
浏览 14286
已采纳

如何读出assets的资源

public class Utils {

    public static List<Message> getMesages() {

//File file = new File("file:///android_asset/helloworld.txtv");

AssetManager assetManager = getAssets();
InputStream ims assetManager.open("helloworld.txt");

     }
}

想读出assets文件夹下的资源。当使用File时显示fileNotFound异常,但是使用AssetManager getAssets()方法时,又不能识别。请问有什么方法可以解决这个问题呢?

  • 写回答

3条回答

  • android_baiyuchuan 2012-09-21 03:07
    关注
    public void getGetAssets(){
    AssetManager assetManager= context.getAssets();
    Log.e(TAG, assetManager.getLocales()+"");
    try {
    InputStream inputStream =   assetManager.open("atest");
    inputStream.read();
    InputStreamReader isr = new InputStreamReader(inputStream);  
    BufferedReader br = new BufferedReader(isr);  
    Log.i(TAG,"inputStream :" + inputStream.read());
    Log.i(TAG,"BufferedReader :" +br);
    Log.i(TAG,"BufferedReader :" +br.toString());
    Log.i(TAG,"BufferedReader :" +new String(br.readLine()));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    }
    

    你只要保证你的assets文件下有这个“atest”文件就可以了,我试了不会报错的。我的测试文件内容就是aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    09-21 03:04:30.626: E/bai(833): [Ljava.lang.String;@41072288
    

    09-21 03:04:30.626: I/bai(833): inputStream :97
    09-21 03:04:30.635: I/bai(833): BufferedReader :java.io.BufferedReader@41075e98
    09-21 03:04:30.635: I/bai(833): BufferedReader :java.io.BufferedReader@41075e98
    09-21 03:04:30.635: I/bai(833): BufferedReader :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作