Android中使用assets读取文件总结

今天在做easyEnglishLearning的过程中,因为要读取本地的sql脚本,放置在Android目录下的assets文件夹中,搞了一个晚上一直在读取的时候发生FileNotFound错误,最后终于搞清楚了。

在Android Studio中assets文件夹是不会默认创建的,这和Eclipse不一样,所以我们就要手工创建这个文件夹就好了。刚开始我是直接右键->new->Directory来创建的assets文件夹,谁知道这并不会被AS编译器获取。正确的创建方法是在app文件夹上右键,选择new->Floder->Assets Floder,这样创建出来的assets文件夹才会被AS正确读取到。

以下是读取时的程序:

try {
    System.out.println("路径:"+Configuration.DB_PATH + "/" + schemaName);
    in = new BufferedReader(new InputStreamReader(mContext.getAssets()
            .open(Configuration.DB_PATH + "/" + schemaName)));
    String line;
    String buffer = "";
    while ((line = in.readLine()) != null) {
        buffer += line;
        if (line.trim().endsWith(";")) {
            db.execSQL(buffer.replace(";", ""));
            buffer = "";
        }
    }
} catch (IOException e) {
    Log.e("db-error", e.toString());
} finally {
    try {
        if (in != null)
            in.close();
    } catch (IOException e) {
        Log.e("db-error", e.toString());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值