Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从文件扫描时发生Java输入不匹配异常错误_Java_File_Java.util.scanner - Fatal编程技术网

从文件扫描时发生Java输入不匹配异常错误

从文件扫描时发生Java输入不匹配异常错误,java,file,java.util.scanner,Java,File,Java.util.scanner,程序正在从.txt文件中读取。扫描仪引发以下错误: Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:864) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.ne

程序正在从.txt文件中读取。扫描仪引发以下错误:

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at project.pkg2.Project2.main(Project2.java:38)
Java returned: 1
BUILD FAILED (total time: 0 seconds)
这是执行文件中所有读入操作的代码。我们有一个整数,它是特定专辑的曲目计数。然后,我们有一个曲目编号,歌曲标题和艺术家在每一行。曲目编号、标题和艺术家仅用逗号分隔。

默认情况下,当您使用trackNumber=sc.nextInt;,扫描仪有一个JavaWhiteSpace分隔符;,它得到1,并尝试将其解析为int,这显然会失败。 另外,在获取trackCount后,您忘记了收集结束行字符

以下是您应该做的:

trackCount = sc.nextInt();
sc.nextLine(); // collect endline character
sc.useDelimiter(", ");
albumName = f.toString();
while (sc.hasNextLine()) {
    trackNumber = sc.nextInt();
    songName = sc.next();
    artistName = sc.next();
    sc.nextLine(); // collect endline character

    processLine(albumName, artistName, songName, trackNumber);
}
sc.close();

您可以共享创建扫描仪的线路吗?sc.下一步遇到空格时停止。这不是你想要的。您可能希望使用sc.nextLine获取所有行,并使用String.split将字符串拆分为trackNumber,您需要使用异常处理、songName和artistName将其转换为int。谢谢。然而,当我调用一个函数时,我现在得到一个与第47行有关的空指针异常。所以我不确定什么东西没有初始化。线程main java.lang.NullPointerException在project.pkg2.Project2.processLineProject2.java:74在project.pkg2.Project2.mainProject2.java:47 java返回:1生成失败总时间:0seconds@cheetodog这是一个与这个问题完全无关的错误!我的答案解决了你最初的问题,我亲自测试过,效果很好!NullPointerException通常意味着您试图从null引用中读取。我建议您在正确解析文件内容时查看albumName!