OpenFileInput不会抛出FileNotFoundException

时间:2015-05-29 16:51:17

标签: android

我参与了在线Android课程并且(到目前为止)在他们的论坛上没有得到任何回应。我在Windows 8.1上使用Android Studio。

我有以下函数来读取文件并加载适配器:

private void loadItems() {
    BufferedReader reader = null;
    try {
        FileInputStream fis = openFileInput(FILE_NAME);
        reader = new BufferedReader(new InputStreamReader(fis));

        String title = null;
        String priority = null;
        String status = null;
        Date date = null;

        while (null != (title = reader.readLine())) {
            priority = reader.readLine();
            status = reader.readLine();
            date = ToDoItem.FORMAT.parse(reader.readLine());
            mAdapter.add(new ToDoItem(title, Priority.valueOf(priority),
                    Status.valueOf(status), date));
        }

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ParseException e) {
        e.printStackTrace();
    } finally {
        if (null != reader) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

我的问题是:

  1. 我在硬盘上的任何位置找不到常量FILE_NAME命名的文件。如果文件不存在不应该 openFileInput()抛出 FileNotFoundException

  2. 为什么 InputStreamReader 不会抛出错误?

  3. 通过调试器,我已经注意到WHILE构造中的逻辑保护条目很快允许 title 变量中的空值进入循环。我在这里遗漏了什么吗?

  4. 提前感谢任何人都可以放下任何灯光!!

    Markb

0 个答案:

没有答案