import java.io.*;
import java.util.*;
public class Practices {
public static void main(String[] args) throws FileNotFoundException
{
这是我的文字档案:
成为或不成为是
问题
那么现在呢
就这样吧
Scanner input =new Scanner(new File("C:/Users/Charlie/workspace/Summerexercises/src/hamlet.txt"));
int countwords=0;
int countlines=0;
int countchar=0;
while(input.hasNext())
{
String word = input.next();
countwords++;
}
System.out.println("total words= "+ countwords);
这是while循环,它计算行数,但不能正常工作
while(input.hasNextLine())
{
String lines= input.nextLine();
countlines++;
}
System.out.println("total lines= "+ countlines);
input.close();
}
}
答案 0 :(得分:1)
**此循环将计算行数**
int count = 0;
while (scanner.hasNextLine()) {
count++;
scanner.nextLine();
}
答案 1 :(得分:1)
或者您可以使用LineNumberReader
LineNumberReader lineNumberReader = new LineNumberReader(new FileReader(new File("C:/Users/Charlie/workspace/Summerexercises/src/hamlet.txt")));
lineNumberReader.skip(Long.MAX_VALUE);
System.out.println(lnr.getLineNumber());
lineNumberReader.close();
来源:http://www.technicalkeeda.com/java/how-to-count-total-number-of-lines-of-file-using-java
答案 2 :(得分:0)
您必须再次从文件的开头开始。到第一个循环结束时,您将指向EOF,因此在第二个循环中不计算任何行。尝试注释掉第一个循环并运行该程序。
答案 3 :(得分:0)
在第一个循环中,您将使用所有扫描仪内容,第二个循环永远不会执行。这样做:
Scanner input =new Scanner(new File("C:/Users/Charlie/workspace/Summerexercises/src/hamlet.txt"));
int countwords=0;
int countlines=0;
int countchar=0;
while(input.hasNext())
{
String word = input.next();
countwords++;
}
System.out.println("total words= "+ countwords);
input.close();
input =new Scanner(new File("C:/Users/Charlie/workspace/Summerexercises/src/hamlet.txt"));
while(input.hasNextLine())
{
String lines= input.nextLine();
countlines++;
}
System.out.println("total lines= "+ countlines);
input.close();