Android开发之assets文件夹中资源的获取

assets中的文件都是保持原始的文件格式,需要使用AssetManager以字节流的形式读取出来

步骤:

  • 1. 先在Activity里面调用getAssets() 来获取AssetManager引用。
  • 2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStream。
  • 3. 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close() 。
  • 4.调用AssetManager.close() 关闭AssetManager。

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

代码:

 1  private void copyDataBase(String baseName) {
 2         OutputStream outputStream = null;
 3         InputStream inputStream = null;
 4         File file = new File(getFilesDir(), baseName);
 5         if ( file.exists() ) {
 6             return;
 7         }
 8         try {
 9             outputStream = new FileOutputStream(file);
10             inputStream = getAssets().open(baseName);
11             int len;
12             byte[] buffer = new byte[1024];
13             while ( (len = inputStream.read(buffer)) != -1 ) {
14                 outputStream.write(buffer, 0, len);
15             }
16         } catch ( IOException e ) {
17             e.printStackTrace();
18         } finally {
19             try {
20                 inputStream.close();
21                 outputStream.close();
22             } catch ( Exception e ) {
23                 e.printStackTrace();
24             }
25 
26         }
27     }

 

转载于:https://www.cnblogs.com/liyiran/p/5315331.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值