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