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);
# 1 楼答案
添加一个系统。出来println(inputFile.exists())查看您是否正在创建新文件
# 2 楼答案
您不是从文件中读取行,而是从标准输入中读取
# 3 楼答案
改变:
致:
# 4 楼答案
在这个循环中:
您正在使用
System.in
的扫描仪,而不是为文件创建的扫描仪。因此,对nextLine
的调用将等待您的输入,而不是转到文件中的下一行。这就是为什么看起来什么都没发生用
inFile.nextLine
替换in.nextLine
,它就会起作用