public class FileLineNumberSearch {
public static void main(String[] args) {
String filePath = new File("").getAbsolutePath() + "/src/file/" + "waitUse" + ".txt";
// readLine方式
try{
File file =new File(filePath);
if(file.exists()){
FileReader fr = new FileReader(file);
LineNumberReader lnr = new LineNumberReader(fr);
int linenumber = 0;
while (lnr.readLine() != null){
linenumber++;
}
System.out.println("Total number of lines : " + linenumber);
lnr.close();
}else{
System.out.println("No File Found!");
}
}catch(IOException e){
e.printStackTrace();
}
// getLineNumber方式
try {
File file = new File(filePath);
if(file.exists()){
long fileLength = file.length();
LineNumberReader lineNumberReader = new LineNumberReader(new FileReader(file));
lineNumberReader.skip(fileLength);//行号从0开始
int lines = lineNumberReader.getLineNumber() + 1;
System.out.println("Total number of lines : " + lines);
lineNumberReader.close();
}else {
System.out.println("No File Found!");
}
}catch(IOException e) {
e.printStackTrace();
}
// lines方式
try {
long lines = Files.lines(Paths.get(new File(filePath).getPath())).count();
System.out.println("Total number of lines : " + lines);
long endTime=System.currentTimeMillis();
} catch (IOException e) {
System.out.println("No File Found!");
}
}
}