我参与了在线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();
}
}
}
}
我的问题是:
我在硬盘上的任何位置找不到常量FILE_NAME命名的文件。如果文件不存在不应该 openFileInput()抛出 FileNotFoundException ?
为什么 InputStreamReader 不会抛出错误?
通过调试器,我已经注意到WHILE构造中的逻辑保护条目很快允许 title 变量中的空值进入循环。我在这里遗漏了什么吗?
提前感谢任何人都可以放下任何灯光!!
Markb