下面的函数是从 /sys下面读取某个文件的内容,请指出其中的错误 public static Strin readSysClassFile(String sys_path) { String prop = ""; BufferedReaderreader = null; try{ reader = new BufferedReaderreader(new FileReader(sys_path)); prop = reader.readline(); if (prop != null && pro.length() > 0){ #Substring the prop prop = pro.Substring(0,15); } } } catch (IOException e){ e.printStackTrace(); }finally { if (reader != null){ try { reader.close(); }carch (IOException e){ e.printStackTrace(); } } } if (TextUtils.isEmpty(prop)){ prop= "NULL" } return prop; }
时间: 2023-11-27 21:52:28 浏览: 70
这段代码中存在以下错误:
1. 第一行的函数名应该是 readSysClassFile,而不是 Strin。
2. 第三行的 prop 变量应该是 StringBuilder 类型,因为在循环中需要频繁修改它的值。
3. 第四行的 BufferedReaderreader 应该是 BufferedReader reader。
4. 第六行应该是 reader.readLine(),而不是 reader.readline(),因为 Java 是区分大小写的。
5. 第七行的 pro 应该是 prop。
6. 第九行的 # 应该是 //,因为 # 是注释符号,不是代码符号。
7. 第十行的 Substring 应该是 substring,因为 Java 是区分大小写的。
8. 第十二行的 carch 应该是 catch。
9. 第十四行的 TextUtils 应该是 android.text.TextUtils,因为这是 Android SDK 中的一个类。
修改后的代码如下:
```
public static String readSysClassFile(String sys_path) {
StringBuilder prop = new StringBuilder();
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(sys_path));
prop.append(reader.readLine());
if (prop.length() > 0) {
// Substring the prop
prop = new StringBuilder(prop.substring(0, 15));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
if (TextUtils.isEmpty(prop.toString())) {
prop = new StringBuilder("NULL");
}
return prop.toString();
}
```
阅读全文