我正在做一个类来读取文件中的对象,这是早期保存到文件(.txt格式),但我收到试图加载文件时出现以下错误:扫描仪问题:NoSuchElementException异常
的java .util.NoSuchElementException
该方法是这样制作的,因此用户应该能够输入文件的名称。即使它已经尝试调试升技,也只是用已经给出的名称(而不是输入)引用文件本身。这是该方法的样子:
public void load(String filename) throws FileNotFoundException
{
final String FIELD_STOP = ":";
String loadFile;
loadFile = filename +".txt";
FileReader ansfil = new FileReader(loadFile);
Scanner fileIn = new Scanner(ansfil);
fileIn.useLocale(new Locale("en"));
System.out.println(loadFile);
fileIn.useDelimiter(FIELD_STOP);
int size;
try
{
while(fileIn.hasNext())
{
size = fileIn.nextInt();
archive = new CDarkivImplemented(size);
CD readIn = new CDImplemented();
for(int i = 0; i < size ; i++)
{
readIn = new CDImplemented();
readIn.title = fileIn.next();
readIn.artist = fileIn.next();
readIn.genre = CD.interpretGenre(fileIn.next());
readIn.publisher = fileIn.next();
readIn.year = fileIn.nextInt();
readIn.ID = fileIn.nextInt();
archive.addCD(readIn);
}
}
}
catch(Exception e)
{
System.out.println("Wrong! : " + e);
System.exit(1);
}
fileIn.close();
}
什么行给错误? – 2013-02-11 19:27:00
你确定你的文件中有冒号分隔的整数吗?可能有一些其他字符串,而不是整数..检查您的文件内容。 – 2013-02-11 19:32:23
该文件只包含以下内容: 50: test:test:pop:test:2012:3301: 第一个值是存档的总大小。然后第一个值等于字符串,第二个是艺术家,第三个是流派,第四个是发布者,那么它是年份,并且是从我之前创建对象时生成的Id函数。这只是对方法加载和保存的快速测试。 – 2013-02-11 19:36:53