filreader 中的 java 子字符串 while

发布于 2024-11-27 06:41:19 字数 374 浏览 2 评论 0原文

找不到有关如何执行此操作的任何帮助: 我无法在 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();

Can't find any help on how to do this:
I can't use .substring in the Filreader's while, it throws an exception after reading the first line.

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();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花开半夏魅人心 2024-12-04 06:41:19

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

if (line.length() > 7) {
  System.out.println(lnr.getLineNumber() + " : " + line.substring(1, 7) +"!");
}
else {
  System.err.println("Unexpected line, minimum expected length=7 chars");
}

Glad that you have already found the answer to your problem, additionally I would like to suggest adding a range check when calling substring (at least in cases where a variable length of line is expected)

if (line.length() > 7) {
  System.out.println(lnr.getLineNumber() + " : " + line.substring(1, 7) +"!");
}
else {
  System.err.println("Unexpected line, minimum expected length=7 chars");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文