有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java打印出文件包含的行数

目前,当我输入一个有效的。txt文件。我想打印文件包含的行数。谁能告诉我为什么现在什么都没发生

public class Task3
{
    public static void main(String[] args) throws FileNotFoundException
    {
        // instance variables
        int characterCount = 0;
        int wordCount = 0;
        int lineCount = 0;
        // create a Scanner object to read in file name from console input
        Scanner in = new Scanner(System.in);
        System.out.print("Please enter the file name: ");
        String filename = in.next();
        File inputFile = new File(filename);


        // create a Scanner object to read the actual text file
        Scanner inFile = new Scanner(inputFile);

        int lines = 0;

        while (inFile.hasNextLine())
        { // enter while loop if there is a complete line available
        in.nextLine();
            lines++;
            // increase line counter variable
            }
          System.out.println(lines); 

共 (4) 个答案

  1. # 1 楼答案

    添加一个系统。出来println(inputFile.exists())查看您是否正在创建新文件

  2. # 2 楼答案

    您不是从文件中读取行,而是从标准输入中读取

  3. # 3 楼答案

    改变:

    in.nextLine();
    

    致:

    inFile.nextLine();
    
  4. # 4 楼答案

    在这个循环中:

        while (inFile.hasNextLine())
        { // enter while loop if there is a complete line available
            in.nextLine();
            lines++;
            // increase line counter variable
        }
    

    您正在使用System.in的扫描仪,而不是为文件创建的扫描仪。因此,对nextLine的调用将等待您的输入,而不是转到文件中的下一行。这就是为什么看起来什么都没发生

    inFile.nextLine替换in.nextLine,它就会起作用