忽然想看看自己写了多少代码了,于是编了这个简单程序给大家共享!
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CalculateLineDemo {
public static void main(String[] args) throws IOException {
File dir = new File("D:/My Documents/Java Workspace");// 你的工作站
List<File> files = getFile(dir); // .java文件的集合
int count = 0; // 代码行数
String b = null;
for (File file : files) {
BufferedReader bf = new BufferedReader(new FileReader(file)); // 读取文件
b = bf.readLine();
while (bf.readLine() != null) {
b = b.trim();// 去空白,排除空行
if (b != "")
count++;
}
}
System.out.println("一共代码行数:" + count);
}
public static List<File> getFile(File dir) {
List<File> files = new ArrayList<File>();
File[] subs = dir.listFiles(); // 此文件下的所有文件和文件夹集合
for (File file : subs) {
if (file.isFile() && file.getName().endsWith(".java")) {
files.add(file); // 把.java文件添加到集合中
} else if (file.isDirectory())
files.addAll(getFile(file)); //如果是目录,就进行递归
}
return files;
}
}
import java.i