1 package test1;
2
3 import java.io.BufferedReader;
4 import java.io.File;
5 import java.io.FileReader;
6
7 public class Test3_codecount {
8
9 private static int total = 0;
10 private static int fileNum = 1;
11
12 public static void main(String[] args) {
13 File dir = new File("D:\\code\\aaa\\b2bchannel");
14 fileTraversal(dir);
15 System.out.println("共" + total + "行代码"); // 共2289429行代码
16 }
17
18 /*
19 * 遍历指定目录下所有的文件
20 */
21 public static void fileTraversal(File directory) {
22 File[] file = directory.listFiles();
23 for (int i = 0; i < file.length; i++) {
24 if (file[i].isDirectory()) { //此对象如果是目录,就递归
25 fileTraversal(file[i]);
26 } else {
27 if (file[i].getName().endsWith(".java") || file[i].getName().endsWith(".xml") || file[i].getName()
28 .endsWith(".html") || file[i].getName().endsWith(".js")) {//判断是否以.java结尾
29 System.out.println("第" + (++fileNum) + "个文件:\t" + file[i]);
30 singleFile(file[i]);//统计单个文件的行数
31 }
32 }
33 }
34 }
35
36 /*
37 * 统计单个文件的行数
38 */
39 public static void singleFile(File file) {
40 FileReader reader = null;
41 BufferedReader buffer = null;
42 try {
43 reader = new FileReader(file);
44 buffer = new BufferedReader(reader);
45
46 String line = null;
47 while ((line = buffer.readLine()) != null) {
48 //去除空格
49 String trimStr = line.trim();
50 //如果以/,*开头,就跳过该次循环
51 if (trimStr.startsWith("/") || trimStr.startsWith("*") || trimStr.length() <= 0) {
52 continue;
53 } else {
54 total++;
55 }
56 }
57 } catch (Exception e) {
58 e.printStackTrace();
59 }
60 }
61 }
1 package test1;
2
3 import java.io.BufferedReader;
4 import java.io.File;
5 import java.io.FileReader;
6
7 public class Test3_codecount {
8
9 private static int total = 0;
10 private static int fileNum = 1;
11
12 public static void main(String[] args) {
13 File dir = new File("D:\\code\\aaa\\b2bchannel");
14 fileTraversal(dir);
15 System.out.println("共" + total + "行代码"); // 共2289429行代码
16 }
17
18 /*
19 * 遍历指定目录下所有的文件
20 */
21 public static void fileTraversal(File directory) {
22 File[] file = directory.listFiles();
23 for (int i = 0; i < file.length; i++) {
24 if (file[i].isDirectory()) { //此对象如果是目录,就递归
25 fileTraversal(file[i]);
26 } else {
27 if (file[i].getName().endsWith(".java") || file[i].getName().endsWith(".xml") || file[i].getName()
28 .endsWith(".html") || file[i].getName().endsWith(".js")) {//判断是否以.java结尾
29 System.out.println("第" + (++fileNum) + "个文件:\t" + file[i]);
30 singleFile(file[i]);//统计单个文件的行数
31 }
32 }
33 }
34 }
35
36 /*
37 * 统计单个文件的行数
38 */
39 public static void singleFile(File file) {
40 FileReader reader = null;
41 BufferedReader buffer = null;
42 try {
43 reader = new FileReader(file);
44 buffer = new BufferedReader(reader);
45
46 String line = null;
47 while ((line = buffer.readLine()) != null) {
48 //去除空格
49 String trimStr = line.trim();
50 //如果以/,*开头,就跳过该次循环
51 if (trimStr.startsWith("/") || trimStr.startsWith("*") || trimStr.length() <= 0) {
52 continue;
53 } else {
54 total++;
55 }
56 }
57 } catch (Exception e) {
58 e.printStackTrace();
59 }
60 }
61 }