在大学的计算机编程课上,我们被要求创建一个Java程序来读取和存储列表中的各种元素。 存储不是问题,但我在阅读价值方面遇到了一些问题。我正在使用“variable = input.nextLine();” (如果变量是String),问题是当我连续读取多个值时,程序有时会跳过读取其中一个值。我的老师建议我使用input.nextLine()来解决这个问题,但它不能很好地工作,这对我来说似乎是一种解决方法。我认为问题与缓冲有关。在Java上有类似于C的fflush或fpurge函数吗?
答案 0 :(得分:1)
除了少数例外,输入I / O类没有等效的flush
方法,不需要一个。输出I / O类执行具有flush
方法。您可以在JDK 6 Javadoc index for F
中看到这一点并向下滚动flush()
方法的集合。
您是否确定连续两次不小心阅读input.nextLine();
因此丢弃了一行?
在我们帮助您解决问题之前,我们需要了解更多信息。
注意:请编辑您的问题以添加其他信息。在你的问题下面找一个小的“编辑”“按钮”。
答案 1 :(得分:0)
如果您正在阅读文件,则可以使用BufferedReader:
BufferedReader reader = new BufferedReader(new FileReader("somelines_oh_yeah.txt"));
String line;
while((line = reader.readLine()) != null){
//do something.
}
答案 2 :(得分:0)
你可以使用 System.out.flush()