java - 使用扫描仪读取文件时出现空指针异常

标签 java android

我想读取一个文本文件并解析字符串直到eof..这是一个代码 fragment .. 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)

最佳答案

将此添加到您的代码中:

bfr = new BufferedReader(new 
            InputStreamReader(this.getAssets().open("programs.txt")));

关于java - 使用扫描仪读取文件时出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9702167/

相关文章:

java - 使用 SQLitestatement bindstring 方法代替简单的字符串连接来执行 sql 语句有什么优点

java - 为什么更高效的算法运行速度更慢?

java - 接口(interface)方法与类方法

java - 使用运行时参数创建单例 bean

android - SignOut 使无法保存在 firestore 中

android - 将 Parse 导入到 android studio

java - Firebase 无法显示实时数据库中的名称

java - 在 java servlet 中处理 "multipart/related"

Java LinkedHashSet remove(Object obj) 方法常量/线性时间复杂度?

java - 从可穿戴设备到手机的消息