AndroidStudio如何"创建Assets资源目录"并访问目录下的文件?

注意:
  • AndroidStudio是没有资产文件夹的,要自己创建(New->Folder->Assets Folder),那么就可以见到资产目录了(如图)
    这里写图片描述
  • 在把文件放到此处即可.
    这里写图片描述

  • 通过资产管理者对象,去 打开文件,获取流即可

    • 1.getAsserts();
    • 2.管理对象.open(文件);
  • 需求:

    • 1.把一个数据库(name,money)文件从资产目录,复制到自己的数据库目录
    • 2.读取数据库里的所有名字
  • 过程:

    • 数据库为:mycount.db,表名为count,内容如下
      这里写图片描述
      复制到数据库文件夹,就会显示
      这里写图片描述
    • 代码如下
private void assertCase() {
        //获取资产管理者
        AssetManager manager =  getAssets();
        //管理者打开文件,得到流
        try {
            /*--------------读取并放入指定文件夹--------------*/
            InputStream is = manager.open("mycount.db");
            //放到数据库
            File file = getFile();
            FileOutputStream fos = new FileOutputStream(file);

            byte[] bytes = new byte[1024*3];
            int len = -1;
            while ((len = is.read(bytes)) != -1) {
                fos.write(bytes, 0, len);
            }
            /*--------------从文件夹读取内容--------------*/
            //读取数据库
            SQLiteDatabase db = openOrCreateDatabase("mycount.db", MODE_PRIVATE, null);
            //获取游标
            Cursor cursor = db.query("count", new String[]{"name"}, null, null, null, null, null);
            while (cursor.moveToNext()) {
                String name = cursor.getString(0);
                System.out.println(name);
            }
            is.close();
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    private File getFile() {
        File dir = new File("data/data/"+getPackageName()+"/databases");
        //没有就创建
        if (!dir.exists()) {
            dir.mkdir();
        }
        File file = new File(dir,"mycount.db");
        return file;
    }

打印结果:

System.out: 小明
System.out: 小李

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值