- 浏览: 204881 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
chenxliang:
10月26、27日,上海浦东,Postgres中国用户大会20 ...
postgres psql命令手册 -
13511079747:
daniaowansui 写道为什么这么多人都踩?应该是写的太 ...
Java泛型的实现原理 -
Doublecqw:
作者的这种写法.我也想到过.不过效率太低.你们可以测下.
Spring 注入静态变量 解决方案(之我见) -
daniaowansui:
为什么这么多人都踩?
Java泛型的实现原理 -
huangyufa123:
firefly.li 写道不用这么麻烦,注入静态变量时,set ...
Spring 注入静态变量 解决方案(之我见)
因为前一段上课,老师说:“咱们学校计算机专业毕业的学生,真正写过程序的人很少,现在程序员的标准是至少写过3w行代码,不然算不上程序员;是自己设计程序,而不算那些抄的,照书上打的等。”
我表示认同,只是说我们学校吧,是这样的,几乎没什么人写过程序。
前一段刚完成一个项目,闲着无聊,就写了一个程序,只需要修改项目名称就可以知道项目总代码数,当然,程序很简单,大家都能写出来,我只是提供给参考,有好的建议希望高手提出来。
//package org.linecount.counter; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.ArrayList; import java.util.List; /** * 计算一个项目中文件总行数 * @author Irfen * @version 1.0.0 */ public class LineCounter { List<File> list = new ArrayList<File>(); int linenumber = 0; FileReader fr = null; BufferedReader br = null; public void counter(String projectName) { // String path = System.getProperty("user.dir"); String path = LineCounter.class.getResource("/").getPath(); // 同下个path //具体项目路径因版本不同会有差异,下面会打印路径,请根据实际情况修改路径截取长度 path = path.substring(1, path.length() - 22) + "/" + projectName; System.out.println(path); File file = new File(path); File files[] = null; files = file.listFiles(); addFile(files); isDirectory(files); readLinePerFile(); System.out.println("Totle:" + linenumber + "行"); } // 判断是否是目录 public void isDirectory(File[] files) { for (File s : files) { if (s.isDirectory()) { File file[] = s.listFiles(); addFile(file); isDirectory(file); continue; } } } //将项目下所有文件组织成list public void addFile(File file[]) { for (int index = 0; index < file.length; index++) { list.add(file[index]); // System.out.println(list.size()); } } //读取所有非空白行 public void readLinePerFile() { try { for (File s : list) { int yuan = linenumber; if (s.isDirectory()) { continue; } //扫描的文件类型 if(s.getName().indexOf(".jsp") != -1 || s.getName().indexOf(".java") != -1 || s.getName().indexOf(".htm") != -1 || s.getName().indexOf(".html") != -1 || s.getName().indexOf(".js") != -1 || s.getName().indexOf(".css") != -1 ) { fr = new FileReader(s); br = new BufferedReader(fr); String i = ""; while ((i = br.readLine()) != null) { if (!isBlankLine(i))//如果想加入空白行,请注释此行 linenumber++; } System.out.print(s.getName()); System.out.println("\t\t有" + (linenumber - yuan) + "行"); } } } catch (Exception e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (Exception e) { } } if (fr != null) { try { fr.close(); } catch (Exception e) { } } } } //是否是空行 public boolean isBlankLine(String i) { if (i.trim().length() != 0) { return false; } else { return true; } } public static void main(String args[]) { LineCounter lc = new LineCounter(); String projectName = "ufo"; //这里传入你的项目名称 lc.counter(projectName); } }
评论
2 楼
irfen
2011-10-05
langyu 写道
还不错,鼓励下,如果把那个递归抽取出来就更好了。
还有,一般这样的需求不是传入项目名,而是传入项目的本地文件系统绝对目录
还有,一般这样的需求不是传入项目名,而是传入项目的本地文件系统绝对目录
传入系统的绝对路径的话是不错,这个吸取一下。而且程序也会稍微简单一点。
1 楼
langyu
2011-10-05
还不错,鼓励下,如果把那个递归抽取出来就更好了。
还有,一般这样的需求不是传入项目名,而是传入项目的本地文件系统绝对目录
还有,一般这样的需求不是传入项目名,而是传入项目的本地文件系统绝对目录
发表评论
-
Java八种基本数据类型占用字节数空间介绍
2014-03-07 08:50 3823大家都知道在java中有八种基本数据类型,他们所占得空间当然 ... -
Java堆内存的10个要点
2014-03-06 08:41 3080当我开始学习Java编程时,我不知道什么是堆内存或堆空间,我 ... -
Redis学习笔记(四)——Redis常用命令入门——散列类型
2014-03-04 19:54 8523三、散列命令 散列类型的键值其实也是一种字典解耦,其存储了 ... -
Redis学习笔记(三)——Redis常用命令入门——字符串类型命令
2014-03-03 08:33 3959前面两节已经把Redis了解了并安装完成了,接下来就是学习 ... -
Redis学习笔记(二)——Redis的准备
2014-03-02 13:17 8462一、安装Redis 第一步肯定是安装了。安装前先说下版本规 ... -
java虚拟机垃圾回收机制
2014-02-27 22:17 3471文章原创于本人博客,http://irfen.me/ 一、 ... -
关于struts2如何去掉默认的后缀(.action)
2014-02-10 12:00 8705struts2是可以配置默认的后缀名的,如http://l ... -
JVM 32位和64位区别
2013-12-18 09:05 2313在WebSphere的社区有一篇 ... -
Java中Thread状态学习记录
2013-11-19 09:08 8828一个线程创建之后,总是处于其生命周期的4个状态之一中。线程 ... -
使用Netty传输大文件内容
2013-10-25 13:44 12123最近又开始需要使用netty进行网络通信方面的编程开发了。于 ... -
Netty学习(3)
2013-10-04 17:33 986剩下的就是自己在网上找的一些资料了。 在这里很感谢淘宝中间 ... -
Netty学习(2)——Netty使用实例
2013-10-04 17:27 9965以下两个例子基于netty- ... -
Netty学习(1)
2013-10-04 17:23 2025其实到这家公司也有一段时间了,现在的公司是个做通信的公司,所 ... -
Java泛型的实现原理
2013-06-17 17:08 16932由于前一段时 ... -
Spring配置多数据源
2013-05-21 08:51 15237发表自本人博客 http://irfen.me ... -
使用JDBC Template处理数据
2013-04-25 17:40 36471. JDBCTemplate模板的update upd ... -
java获取文件编码格式
2013-02-26 09:58 14471:简单判断是UTF-8或不是UTF-8,因为一般除了UTF ... -
Java性能优化技巧
2013-02-17 14:54 897转载:http://blog.csdn.net ... -
java程序性能优化
2013-02-17 14:52 941一、避免在循环条件中使用复杂表达式 在不做编译优化的情况下 ... -
Web开发性能杂谈
2011-11-22 12:42 1035目标:开发高性能,可 ...
相关推荐
在Java编程语言中,统计代码行数是一项常见的需求,它可以帮助...总的来说,通过Java实现代码行数统计是一个涉及文件操作、文本解析和条件判断的过程。在实践中,可以根据具体需求进行定制,以满足不同项目的统计要求。
标题提到的“代码行数统计工具”是专门用于计算源代码文件中行数的实用程序,适用于各种项目。这种工具能够帮助开发者、项目经理和质量保证人员了解项目的整体状况,进行进度跟踪、资源规划和复杂性分析。 代码行数...
在软件开发中,行数统计有时被用作衡量项目规模或工作量的一个指标,尽管这并不是非常精确,但对初步评估或比较项目大小有所帮助。 描述中的“界面美观,功能实用”意味着该统计器不仅提供了基本的代码行数统计功能...
总之,"java代码行数统计源码"提供的工具是一个实用的开发辅助程序,它综合运用了Java的文件操作、源代码解析、数据处理和可能的用户界面设计等多个技术领域,为开发者提供了一种量化评估项目规模的方式。...
4. `lineCount_fat.jar`:根据文件名,这可能是实现行数统计功能的打包JAR文件,可以直接运行来统计源码行数。 5. `.project`:这是Eclipse项目的元数据文件,包含了项目类型、构建配置等信息。 6. `msyh.ttc`:这是...
可用于对VC++、C++ Builder、Delphi、VB、C/C++、ASM、Java、C#、SQL 等程序源码进行详细的统计,可以准确的分析出程序中代码行、注释行和空白行的行数。程序会自动根据你选择的文件类型选择相应的统计方式,并将...
Java代码行数统计工具是一种实用程序,它可以帮助开发者量化他们的工作量,跟踪项目进度,以及进行代码质量分析。这个zip文件包含的工具专门设计用来计算Java源代码中的行数,提供了一个直观的方式来了解代码库的...
IrisCodeCounter是一个轻量级的实用程序,旨在帮助开发者快速地计算项目中的源代码行数。通过这个工具,你可以得到关于项目整体规模的直观数据,这对于项目管理和团队协作具有重要意义。以下是一些关键知识点: 1. ...
在Java项目中,一个类通常代表一个独立的功能单元或对象。 统计Java代码行数的方法有很多种,这里我们将介绍手动统计和使用工具自动统计两种方式。 1. **手动统计**: - 打开`mypro.rar`压缩包,解压后找到包含...
SCounter.exe这个文件很可能是该代码行数统计器的可执行程序,用户只需运行它并指定待分析的源代码文件,就可以获取各个编程语言的代码行数统计报告。这种工具通常会扫描文件,识别语言特定的语法结构来区分代码、...
总的来说,"万能源代码行数统计器"是一个强大的工具,能够帮助开发者快速获取项目代码量的信息,从而更好地进行项目管理和优化。无论是用于个人项目还是团队协作,它都能提供重要的参考数据。同时,其支持多种编程...
程序源代码行数统计工具是一种实用的软件开发辅助工具,主要用于量化分析代码库的规模。在软件工程中,代码行数(LOC,Lines of Code)常被用作衡量项目复杂度和工作量的一个指标,虽然它并非完美的度量标准,但仍然...
在压缩包内的文件"Cmtw.exe"很可能就是这个日文版的代码行数统计工具的可执行程序。通常,.exe文件是Windows操作系统下的可执行程序,用户可以直接运行以启动工具,无需安装额外的环境或组件。 总的来说,这个工具...
总的来说,SourceCounter是一款强大而实用的代码统计工具,它简化了代码行数统计的过程,为软件开发团队提供了有价值的数据参考,有利于项目的规划、管理与优化。无论是个人开发者还是大型团队,SourceCounter都能...
代码行数统计小工具是一款专为开发者设计的实用软件,主要功能是快速、准确地统计项目中的源代码行数。这个工具在软件开发过程中尤为重要,因为它可以帮助开发者了解项目的规模,评估工作量,以及进行代码质量分析。...
Java编写的源代码行数统计器是一款用于计算项目中源代码行数的工具,它具有用户友好的界面和高精度的统计能力。该工具的主要功能是帮助开发者或团队管理者快速了解项目的规模,评估代码复杂性,以及跟踪项目的发展...