java如何统计行数
统计Java代码行数的方法
使用Java IO逐行读取文件
通过BufferedReader逐行读取文件并计数:
import java.io.BufferedReader;
import java.io.FileReader;
public class LineCounter {
public static int countLines(String filePath) throws Exception {
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
int lines = 0;
while (reader.readLine() != null) lines++;
return lines;
}
}
}
使用Java NIO的Files类
Java 8+可以使用Files.lines()更简洁地实现:
import java.nio.file.Files;
import java.nio.file.Paths;
long lineCount = Files.lines(Paths.get("file.txt")).count();
处理多文件/目录的情况
递归统计目录下所有Java文件的行数:
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
class JavaLineCounter extends SimpleFileVisitor<Path> {
private long totalLines = 0;
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
if (file.toString().endsWith(".java")) {
try {
totalLines += Files.lines(file).count();
} catch (IOException e) {
e.printStackTrace();
}
}
return FileVisitResult.CONTINUE;
}
public long getTotalLines() {
return totalLines;
}
}
使用第三方库
Apache Commons IO提供更简单的API:
int lineCount = FileUtils.readLines(new File("file.txt"), "UTF-8").size();
注意事项

- 空行和注释行会被计入统计,如需排除需要额外处理
- 大文件建议使用流式处理避免内存问题
- Windows和Linux的换行符差异可能导致计数偏差






