Java 关于阅读单词的快速调试

Java 关于阅读单词的快速调试,java,Java,我有这个代码,运行程序时收到一个错误。我是不是做错了什么 import java.io.*; import java.util.*; public class countLines { public static void main(String[] args) throws Exception { int count = 0; int word = 0; File f = new File("file.txt"); Sc

我有这个代码,运行程序时收到一个错误。我是不是做错了什么

import java.io.*;
import java.util.*;

public class countLines {
    public static void main(String[] args) throws Exception {
        int count = 0;
        int word = 0;
        File f = new File("file.txt");
        Scanner input = new Scanner(f);
        while(input.hasNext()){
            String words = input.next();
            word++;
        }
        while (input.hasNextLine()) {
            input.nextLine();
            count++;
        }
        input.close();
        System.out.println("Number of Line: " + count);
        System.out.println("This file has " + word + " words.");
    }
}

在第一个
while
循环中,您正在读取文件,然后
关闭它。然后,在下一个
while
循环中,再次尝试读取文件。这将触发一个错误,因为文件已关闭

“一个错误”是非常模糊的。什么错误?帮我们一点忙。看起来您尝试读取输入,关闭它,然后读取,然后再次关闭它。。。这是错误的。我想真的没有错误,我只是不能同时运行单词计数和行计数。Eclipse将我踢出控制台选项卡,并将我带到调试选项卡。它会数一数单词,然后给我0表示行数。我是否要删除其中一个结束语句?或者两者都可以?或者只需关闭第一个
.close()
。但是您需要转到文件的开头again@Eduardo+1,我错过了。好吧,重新打开文件,但它还是算作一个或另一个。