java - 使用扫描仪时无此类元素异常

标签 java file-io io

我正在尝试读取 txt 文件。我不断收到“没有这样的元素”错误,我不明白为什么。我的代码是,

File myFile = new File(input.txt)
Scanner reader = new Scanner(myFile);

for (int i = 0; i<20; i++)
{
    name[i] = reader.nextLine();
    grade[i] = reader.nextInt();
    reader.nextLine();
    rank[i] = reader.nextInt();
    reader.nextLine();
}
reader.close();

这是一个example of the file format 。 我缺少什么?

最佳答案

这就是为什么在读取文件时使用 for 循环不是一个好主意;您不知道(更确切地说,您不应该关心大多数意图和目的)您的文件有多大。

将其切换为 while 循环:

while(reader.hasNext()) {
    // code
}

(不要忘记在循环中前进i。)

只要您的 token 被精确地划分为三的倍数,这将读取 token 而不会耗尽可读取的内容。

关于java - 使用扫描仪时无此类元素异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21421487/

相关文章:

java - 使用Gson在Android中@SerializedName注解的基本目的是什么

java - 找不到 OSGi 包的 Activator 类

java - 使用java进行形态学闭运算

java.io.FileNotFoundException 错误

java 从 DataInputStream 读取未知格式

java - 为复制的文件生成文件名

java - 停止线程

java - 将 Lua shell 嵌入到 Java 应用程序中 (LuaJava)

java - 文件未在 Java 中访问

java有选择地使用字节读取序列化对象