gpt4 book ai didi

java - 如何使用扫描仪逐行读取文件并使用信息?

转载 作者:行者123 更新时间:2023-12-01 13:21:10 26 4
gpt4 key购买 nike

我对java很陌生,我有一些事情要做,这给我带来了一些麻烦。我必须从行读取文件行,然后从每行创建两个字符串并将它们用于某些用途。除了我必须从文件中读取行时,一切都工作得很好。现在我有以下代码:

public static Estructura Read() throws IOException {
Estructura list = new Estructura();

Scanner teclat = new Scanner(System.in);
System.out.println("Nom del fitxer: ");
Scanner file = new Scanner(new File(teclat.nextLine()));
teclat.close();
String s = file.toString();

while (file.hasNextLine() || s.charAt(14) != '(') {


...


file = new Scanner(new File(teclat.nextLine()));
s = file.toString();
}

问题是,当我运行它并输入 2.txt 时,它给我带来了这个错误:(文件格式正确)

Exception in thread "main" java.lang.IllegalStateException: Scanner closed
at java.util.Scanner.ensureOpen(Unknown Source)
at java.util.Scanner.findWithinHorizon(Unknown Source)
at java.util.Scanner.nextLine(Unknown Source)
at Llenguatges.Llegir(Llenguatges.java:66)
at Llenguatges.main(Llenguatges.java:10)

第 66 行是这个:

file = new Scanner(new File(teclat.nextLine()));

那么,我如何读取一行,使用它并继续读取它,直到 while 中的第二个条件发生?我希望我解释得很好,提前谢谢

最佳答案

您正在通过 teclat.close() 关闭 Scanner,然后尝试读取其中的几行内容。

关于java - 如何使用扫描仪逐行读取文件并使用信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22022678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com