读取文本文件时从eclipse接收错误

时间:2013-11-13 00:11:37

标签: java eclipse

这是问题代码:如果我在项目级导入文本文件,它会给我这个:

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at edu.ilstu.ConcertDriver.main(ConcertDriver.java:59)

如果我只将文件导入较低的目录,例如源文件夹,则会抛出FileNotFoundException。我做错了什么?


我的文件包含以下元素:

栗色5
15个
40个
一个方向
10个
50个
珍珠果酱
20个
30

请注意,在30之后,它会返回到下一行


String inputFileName = "concerts.txt";
Scanner inputStream = null;
try
{
    inputStream = new Scanner(new File(inputFileName));
}
catch(FileNotFoundException e)
{
    System.out.println("Error opening the file " + inputFileName);
    System.exit(0);
}


String bandName1=null;
int showCapacity1=0;
int ticketPrice1=0;
String bandName2=null;
int showCapacity2=0;
int ticketPrice2=0;
String bandName3=null;
int showCapacity3=0;
int ticketPrice3=0;

bandName1 = inputStream.nextLine();
showCapacity1 = inputStream.nextInt();
ticketPrice1 = inputStream.nextInt();
bandName2 = inputStream.nextLine();
showCapacity2 = inputStream.nextInt();
ticketPrice2 = inputStream.nextInt();
bandName3 = inputStream.nextLine();
showCapacity3 = inputStream.nextInt();
ticketPrice3 = inputStream.nextInt();

2 个答案:

答案 0 :(得分:2)

输入不匹配异常意味着您尝试获取错误的数据类型。我猜你的输入文件是罪魁祸首,但你应该在这里添加它以确保。

答案 1 :(得分:1)

当您将文件放在项目目录中时,表示您的代码中有错误(但文件位于正确的位置 - 如果您没有得到FileNotFOundException)。移动文件时,表示文件不在正确的位置。

对于每个Integer行,尝试对每一行进行解析

showCapacity1 = Integer.parseInt(inputStream.nextLine().trim());