我想读取一个文本文件并解析该字符串,直到eof ..这是一个代码段。.programs.txt位于Assets目录下

    public void insert_programs() throws FileNotFoundException {
    BufferedReader bfr = null;
    try {
        bfr = new BufferedReader(new
                InputStreamReader(getAssets().open("programs.txt"))); // <-- NPE occurs on that line

    } catch (IOException e) {
        e.printStackTrace();
    }
    Scanner pgm = new Scanner(bfr);
    pgm.useDelimiter("*{3}");
    while (pgm.hasNext()) {
        String str = pgm.next();
            process(str);
        }
    }


日志

03-14 18:05:34.936: E/AndroidRuntime(467):  at dalvik.system.NativeStart.main(Native Method)
03-14 18:05:34.936: E/AndroidRuntime(467): Caused by: java.lang.NullPointerException
03-14 18:05:34.936: E/AndroidRuntime(467):  at android.content.ContextWrapper.getAssets(ContextWrapper.java:74)
03-14 18:05:34.936: E/AndroidRuntime(467):  at c.theworld.com.nikhil.Database.insert_programs(Database.java:40)

最佳答案

方法ContextWrapper.getAssets()抛出NullPointerException。您正在扩展ContextWrapper(或扩展它的另一个类),并且它似乎尚未正确初始化。 Context中的基本ContextWrapper为空。

07-26 00:40