主类调用其他类File的方法 没有输出

Document类:


import java.util.*;
import java.io.*;
public class Document {
    File infile;

    public Document(){}

    public Document(File infile) {
        this.infile = infile;
    }

    
    public int countLines(File infile)throws Exception{
        int lines = 0;
        Scanner input = new Scanner(infile);

        while(input.hasNextLine()){
            lines++;
        }

        input.close();
        return lines;
    }
    
    
}

主类:



import java.io.*;


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

        File file = new File("C:/Users/Administrator/Desktop/SSK3101/LAB6/test.txt");

        Document dc = new Document(file);

        System.out.print(dc.countLines(file));
    }
}

 

    while (input.hasNextLine()) {
      input.nextLine();
      lines++;
    }

一定要加一行 input.nextLine(),相当于你一直在问小卖铺"你有棒棒糖吗?",但是你又不买,所以别人就会一直说"有",程序就不会终止了。所以你问了是不是还有下一行之后,就必须要读一行。

while(input.hasNextLine()){
            lines++;
        }

改为

while(input.hasNextLine()){
    System.out.println(input.nextLine());
    lines++;
}

 

如果觉得我的回答有帮助到您,可以点个采纳支持一下。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632