java - 如何正确使用hasNext?

标签 java

当我尝试编译此代码时,为什么 hasNext 行返回错误?

public static void main(String args[]) throws Exception
{

    BufferedReader infile = new BufferedReader(new FileReader( "woodchuck.txt" ));

    HashMap<String, Integer> histoMap = new HashMap<String,Integer>();

    String word;
    while((infile.hasNext()) !=null)
    {

        if(histoMap.get(word)==null)
            histoMap.put(word,1);
        else
            histoMap.put(word, histoMap.get(word)+1);
    }
    infile.close();
    System.out.print(histoMap);
}

最佳答案

BufferedReader 不提供方法hasNext()。相反,一旦到达文件末尾,readLine() 就会简单地返回 null。由于您没有阅读任何内容,因此您的代码包含无限循环。

关于java - 如何正确使用hasNext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29689313/

相关文章:

java | Apache POI |如何在不创建行的情况下避免空指针异常

java - java 多线程间共享对象

java - 确定同步范围?

java - 在android中将两个音频流混合成一个音频流?

java - ServerSocket 接受方法 - 如何向下转换为子类类型?

java - 从十六进制文字初始化字节数组

java - Java中有没有办法将多个参数对传递给一个方法?

java - 在哪里可以找到 Java 的语法高亮库?

java - GXT 3\Grid\第一列的宽度

java - 如何从 Guava 集合中更改 ImmutableSet?