Java相当于C的fflush? [阅读价值的问题]

时间:2009-04-21 04:02:58

标签: java c

在大学的计算机编程课上,我们被要求创建一个Java程序来读取和存储列表中的各种元素。 存储不是问题,但我在阅读价值方面遇到了一些问题。我正在使用“variable = input.nextLine();” (如果变量是String),问题是当我连续读取多个值时,程序有时会跳过读取其中一个值。我的老师建议我使用input.nextLine()来解决这个问题,但它不能很好地工作,这对我来说似乎是一种解决方法。我认为问题与缓冲有关。在Java上有类似于C的fflush或fpurge函数吗?

3 个答案:

答案 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()