【发布时间】:2020-07-12 16:55:54
【问题描述】:
我正在一个一个地读取文本文件中的值,在 Java 中没有任何问题。该文件具有如下所示的整数值:
2 3
5 6 7 8 9
12 13 15 18 21 26 55
16 24 45 58 97
我只需要读取单行值而不是读取所有值,How to get line number using scanner 上有一个示例,但我正在寻找一个不使用 LineNumberReader 并通过循环所有行来使用计数器的解决方案。相反,最好通过我已经用来读取值的扫描仪方法获取行号。有可能吗?
这是我尝试创建的方法:
public static List<Integer> getInput(int lineIndex) throws FileNotFoundException{
List list = new ArrayList<Integer>();
Scanner scan = new Scanner(new File(INPUT_FILE_NAME));
int lineNum=0;
//s = new Scanner(new BufferedReader(new FileReader("input.txt")));
while(scan.hasNextLine()) {
if(lineNum == lineIndex) {
list.add(scan.nextInt()); //but in this case I also loop all values in this line
}
lineNum++;
}
scan.close();
return list;
}
【问题讨论】:
-
当我运行你发布的代码时,我得到一个无限循环。你呢?
-
@Abra 这是可能的,因为我为了简洁省略了一些部分。但是,如果您当然有任何想法,则不要依赖我的代码。有什么帮助吗?
标签: java file java.util.scanner java-io