统计代码行数

 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 }

 

posted @ 2022-08-10 20:28  MING5135  阅读(95)  评论(0)    收藏  举报