Java:Can';不要从文本文件中读取多行

Java:Can';不要从文本文件中读取多行,java,Java,我正在读一个文本文件,其中有6个整数,每个整数之间用冒号分隔。我已经非常仔细地检查了是否有多余的空格或字符。我认为输入文件是干净的 输入数据 101:102:103:104:105:106 360:350:370:370:350:360 360:350:370:370:350:360 我读过第一行时有困难。只有删除除第一行以外的所有行,我才能使其工作 如果我输入多行整数,我会得到一个错误 线程“main”java.lan中出现异常 .NumberFormatException:对于输入字符串:

我正在读一个文本文件,其中有6个整数,每个整数之间用冒号分隔。我已经非常仔细地检查了是否有多余的空格或字符。我认为输入文件是干净的

输入数据

101:102:103:104:105:106
360:350:370:370:350:360
360:350:370:370:350:360
我读过第一行时有困难。只有删除除第一行以外的所有行,我才能使其工作

如果我输入多行整数,我会得到一个错误

线程“main”java.lan中出现异常 .NumberFormatException:对于输入字符串:“105”


代码(我已经使用了I您需要修剪该值,因为它包括CR-LF

Integer.parseInt(scan.next().trim ());

使用
scan.usedimiter(“:|\\n”)
scan.usedimiter(“:|\\r\\n”)
,如果在Windows上使用后者。你的建议奏效了。根据你的想法,我的原始代码(没有使用trim方法的代码)奏效了。我的理解显然有一些差距(但我是初学者).别担心,很高兴我们能帮助你!我在SW的答案下面提出了一个问题,你们中的任何一位都可以回答。这很有效!但我不理解代码行。我会尝试找出答案,但如果你愿意解释,我会非常感兴趣地阅读。谢谢!我也会尝试Tim B.所说的。@quietstorm the Wombat的方法是删除所有WhitePac从文件每行的两侧删除。这解决了您遇到的问题。我实际上简化了它,因为它已经是一个字符串。
trim
确实返回字符串的副本,前导和尾随空格被省略。如果@TimBiegeleisen方法起作用,我会这样做,因为它是干净的。我已经做了一些思考我看了一些其他的帖子。我想问两件事:1.当我找不到我的文件时,我的文件在第一行后面怎么会有空格?如果我打开文件并用右箭头滚动,它会一直滚动到第二行。2.Tim的想法中额外的斜杠的意义或目的是什么(与我能找到的其他示例相比额外的)?1)你看不到它并不意味着它不在那里。换行符是空白的一种形式,它告诉编辑器开始新行。2) 您需要在Java中转义反斜杠,因此需要两个反斜杠。
Integer.parseInt(scan.next().trim ());