0

找不到有关如何执行此操作的任何帮助:我无法在 Filreader 的 while 中使用 .substring,它在读取第一行后引发异常。

String line = "";
BufferedReader in = new BufferedReader( new FileReader(f) );
LineNumberReader lnr = new LineNumberReader(in);
while ((line = lnr.readLine()) != null) {
    System.out.println(lnr.getLineNumber() + " : " + line.substring(1, 7) +"!");
}
in.close();
lnr.close();
4

1 回答 1

2

很高兴您已经找到了问题的答案,另外我想建议在调用子字符串时添加范围检查(至少在预期行长度可变的情况下)

if (line.length() > 7) {
  System.out.println(lnr.getLineNumber() + " : " + line.substring(1, 7) +"!");
}
else {
  System.err.println("Unexpected line, minimum expected length=7 chars");
}
于 2011-07-29T03:33:17.480 回答