您的位置:首页 > 移动开发 > Android开发

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

2016-07-06 20:41 465 查看

注意:

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: 小李
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息