希望这次我能清楚地问我的问题,我为自己的上一个问题感到尴尬,所以我不得不将其删除。
此代码段来自我为我的应用编写的记录器。当我在Eclipse Luna中写这个时,我在下面的try()语句中没有给出任何错误,但是当我将代码插入Android Studio时,我遇到了“不兼容的类型”错误。它声明找到的类型是“java.io.BufferedReader”,并且预期是“java.lang.AutoCloseable”。我错过了什么?
File filePointer = new File(logFile);
boolean bool = false;
bool = filePointer.exists();
String ls = System.getProperty("line.separator");
if(bool == true) {
try (BufferedReader br = new BufferedReader(new FileReader(logFile))) {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while(line != null){
sb.append(line);
sb.append(ls);
line = br.readLine();
}
copiedFile = sb.toString();
}
finally{
br.close();
}
}
答案 0 :(得分:1)
检查最低API级别。在API 19之前,java.lang.AutoCloseable
接口未添加到Android。因此,除非您使用Java 7 和构建{,否则Java 7'try-with-resources'功能不可用{1}}设置为19。