filreader中的java子字符串

filreader中的java子字符串,java,substring,filereader,Java,Substring,Filereader,找不到有关如何执行此操作的任何帮助: 我不能在Filreader中使用.substring。然而,它在读取第一行后抛出异常 String line = ""; BufferedReader in = new BufferedReader( new FileReader(f) ); LineNumberReader lnr = new LineNumberReader(in); while ((line = lnr.readLine()) != null) { System.out.pri

找不到有关如何执行此操作的任何帮助: 我不能在Filreader中使用.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();

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


请对您试图实现的内容添加更好的解释。为什么要使用子字符串?所需的程序输出是什么?我想逐行读取文件,如果子字符串为==“whatever”,则将执行特定操作。但是子字符串似乎阻止了文件阅读器,这就是问题所在~除了@Mauricio所说的,它抛出了什么异常?哦,字符串索引超出了范围,下一行似乎少于7个字符。谢谢
if (line.length() > 7) {
  System.out.println(lnr.getLineNumber() + " : " + line.substring(1, 7) +"!");
}
else {
  System.err.println("Unexpected line, minimum expected length=7 chars");
}