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());
    }
}

猜你喜欢

转载自blog.csdn.net/fengchi863/article/details/80049981
今日推荐