统计java代码行数
2014-04-01 20:12
495 查看
定义一个文件过滤器:仅选择java源文件,代码如下:
再定义一个代码统计工具类:
将上述类的.class文件路径设置到系统变量classpath中,然后修改windows注册表,具体注册表信息:
第二行的“哈送儿代码统计” 是要添加的右键命令名。
第三行代码是jdk的javaw.exe可执行文件的路径和上述main主类名。
方便的代码统计命令就这样添加成功了!
import java.io.File; import java.io.FilenameFilter; /** * FileName仅过滤出java源文件 * @author hasonger * */ public class FileName implements FilenameFilter { @Override public boolean accept(File dir, String name) { File file = new File(dir, name); if(file.getName().toLowerCase().endsWith(".java")) { return true; } if(file.isDirectory()) { return true; } return false; } }
再定义一个代码统计工具类:
import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class CodeStatistics { //总的有效代码行数 private static int codeLineCount = 0; //java源文件数 private static int fileCount = 0; public static void main(String[] args) { statistics(new File(args[0])); String msg = "文件数量:" + fileCount + "\n代码行数:" + codeLineCount + "\n-------------------------------------\n作者:哈松儿"; javax.swing.JOptionPane.showMessageDialog(null, msg); } /** * 统计java源文件数和有效代码行数 * @param file */ public static void statistics(File file) { if(file.isFile()) { codeLineCount += count(file); fileCount++; } else { File[] filenames = file.listFiles(new FileName()); if(filenames != null) { for (File f : filenames) { statistics(f); } } } } /* * 统计file文件的有效代码行数:剔除空行和注释 */ private static int count(File file) { BufferedReader br = null; //有效代码计数器 int count = 0; try { try { br = new BufferedReader(new FileReader(file)); String line = ""; while((line = br.readLine()) != null) { //按照编码规范剔除空行和注释行 if (!line.trim().equals("")) { if(!line.trim().startsWith("/**") && !line.trim().startsWith("*") && !line.trim().startsWith("*/") && !line.trim().startsWith("//")) { count++; } } } } finally { if(br != null) br.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return count; } }
将上述类的.class文件路径设置到系统变量classpath中,然后修改windows注册表,具体注册表信息:
第二行的“哈送儿代码统计” 是要添加的右键命令名。
第三行代码是jdk的javaw.exe可执行文件的路径和上述main主类名。
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Folder\shell\哈松儿代码统计] [HKEY_CLASSES_ROOT\Folder\shell\哈松儿代码统计\command] @="C:\\jdk1.7.0_25\\bin\\javaw.exe CodeStatistics \"%1\""
方便的代码统计命令就这样添加成功了!
相关文章推荐
- 统计java代码行数的代码(除注释,空行)
- Java统计代码行数
- JAVA统计代码行数
- 统计*.Java文件代码行数——正则表达式
- 代码行数统计的Java和Python实现
- 统计某java文件中的代码行数、某个字符(char)、某字符串(String)出现的次数
- 项目代码行数统计--java类统计
- 统计Java项目代码行数
- java代码行数统计
- 统计文件夹下java代码行数
- java 正则表达式2 通过正则表达式统计代码行数
- JAVA 第一次作业 统计代码文件行数【空行+注释行+代码行】
- [JAVA实用应用] 项目代码行数统计器,帮助你统计项目一共有多少行代码
- 统计你写的java代码行数
- JAVA统计代码行数的简单代码,很准确,去掉注释,空行等
- 快速统计java代码行数
- Java代码 统计项目的文件数量,和代码行数
- 统计java代码的行数
- 统计项目下Java文件数及代码行数
- C#第一次作业,C#或者java代码总行数、代码行数、代码空格行数、注释行数的统计