Android开发之asserts读取文件

从assert资源加载图片或者三维的obj输入流:

    public static byte[] loadFromAssets(Context context,String picName)
    {
        byte[] result=null;

        try
        {
            InputStream in=context.getResources().getAssets().open(picName);
            int ch=0;
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            while((ch=in.read())!=-1)
            {
                baos.write(ch);
            }      
            result=baos.toByteArray();
            baos.close();
            in.close();         
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }       

        return result;
    }

2.WebView 加载assets目录下的html文件
资源文件 sample.html 位于 $PROJECT_HOME/assets/ 目录下,可以通过以下代码
WebView.loadUrl(“file:///android_asset/sample.html”);
加载html文件。

3.读取图片文件
读取assets/smiley文件夹下的所有图片文件:
smiley_filelist=getResources().getAssets().list(“smiley”);//获取Asset目录下smiley文件下的所有文件名
if(smiley_filelist.length>0){
smiley_icon=new Bitmap[smiley_filelist.length];
for(inti=0;i<;i++){
smiley_icon[i]=getImageFromAssetsFile(“smiley/”+smiley_filelist[i]);
}
}else{
smiley_icon=new Bitmap[0];
}

  private Bitmap getImageFromAssetsFile(String fileName)  
  {  
      Bitmap image = null;  
      AssetManager am = getResources().getAssets();  
      try  
      {  
          InputStream is = am.open(fileName);  
          image = BitmapFactory.decodeStream(is);  
          is.close();  
      }  
      catch (IOException e)  
      {  
          e.printStackTrace();  
      }  

      return image;  

  }

需要注意的是,来自Resources和Assets 中的文件只可以读取而不能进行写的操作

(4)从assert读取文本文件

    public String getFromAssets(String fileName){ 
            try { 
                 InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) ); 
                BufferedReader bufReader = new BufferedReader(inputReader);
                String line="";
                String Result="";
                while((line = bufReader.readLine()) != null)
                    Result += line;
                return Result;
            } catch (Exception e) { 
                e.printStackTrace(); 
            }
    } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝鲸123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值