查看自己的项目有多少行?

作为一名程序员,你的代码量有多少,有空可以测测的。


public class ItemCount {
private static int lineCount;//表示代码行数
private static int fileCount;//表示文件个数
private static int count;//表示总行数

public int getLineCount() {
return lineCount;
}

public int getFileCount() {
return fileCount;
}

public static void main(String[] args) throws IOException {
ItemCount itemCount = new ItemCount();
// path是项目的绝对路径
String pathJava = "G:/android/second/MCNBlog/src";
String pathXml = "G:/android/second/MCNBlog/res";
itemCount.getJAVALineNum(new File(pathJava));//将绝对路径下的文件对象作为参数传递给JAVALineNum方法
System.out.println("该项目一共有" + itemCount.getFileCount() + "个JAVA源文件,"
+ itemCount.getLineCount() + "行代码");
count = lineCount;
lineCount = 0;
fileCount = 0;
itemCount.getXMLLineNum(new File(pathXml));
System.out.println("该项目一共有" + itemCount.getFileCount() + "个XML源文件,"
+ itemCount.getLineCount() + "行代码");

System.out.println("该项目总共有:" + (lineCount + count) + "行代码");

}

// 递归
public void getJAVALineNum(File path) throws IOException {
if (path.isFile() && path.getName().endsWith(".java")) {//如果该路径下的是文件,并且文件的后缀为.java 就将文件通过流读入缓冲区
BufferedReader br = new BufferedReader(new FileReader(path));
fileCount++;//java文件的个数进行累加
while (br.readLine() != null) {//如果缓冲区中得字符流不为空,就依次向下一行读。
lineCount++;
}
// System.out.println(path.getName());
br.close();//关闭缓冲区流
} else if (path.isDirectory()) {
File[] listFiles = path.listFiles();
for (File file : listFiles) {
getJAVALineNum(file);
}
}
}

// 递归
public void getXMLLineNum(File path) throws IOException {
if (path.isFile() && path.getName().endsWith(".xml")) {
BufferedReader br = new BufferedReader(new FileReader(path));
fileCount++;
while (br.readLine() != null) {
lineCount++;
}
// System.out.println(path.getName());
br.close();
} else if (path.isDirectory()) {
File[] listFiles = path.listFiles();
for (File file : listFiles) {
getXMLLineNum(file);
}
}
}
}

通过读取对应的文件,从中读取代码行数进行累加,就能得到自己项目中得代码量了。

运行结果:

时间: 2024-12-05 14:10:33

查看自己的项目有多少行?的相关文章

项目源代码行数统计

最近在找工作,某公司出了这么个题:统计项目源代码行数. 为了实现跨平台用了boost,g++和vs2010编译通过.代码如下: FileTravel.h #pragma once #include <string> #include <vector> #include <iostream> using namespace std; class FileTravel { public: FileTravel(void); FileTravel(const string&a

利用fgets()函数来判断一个文件有多少行

/* 统计一个文件有多少行 *fgets()函数是一个行缓冲的函数 *行缓冲的函数一般有4种情况来刷新缓冲区: *1:缓冲区满了 *2:用fllush刷新缓冲区函数 *3:流的关闭 *4:遇到'\n' *fgets()达到文件尾或读出错返回NULL.可以用foef()来判断是 *出错,还是达到了文件尾. *注意点:fgets(buf,N,fp) *1:如果buf有N个字节,buf满了,则buf中有 * N-1个字节,最后个字节是'\0'. *2:遇见了'\n',把'\n'写出buf中,在'\n'

C#WinForm 显示datagridview有多少行,有多少列

1 UI 2 keyCode 1 /// <summary> 2 /// 点击这个按钮出现一个对话框,显示有多少行 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void button1_Click(object sender, EventArgs e)

Spark技术内幕:一个图搞定Spark到底有多少行代码

Spark1.0.0发布一个多月了,那么它有多少行代码(Line of Code, LOC)? 注:代码统计未包含测试,sample. Spark技术内幕:一个图搞定Spark到底有多少行代码

SqlSever基础 一个条件group by 一列有两个内容,分组并查看每个内容有多少行,并用as起名

镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1 base code 1 use master 2 drop database helloworld 3 4 5 --创建一个数据库 6 create database helloworld 7 8 9 10 --用helloworld1这个数据库 11 use helloworld 12 13

查看工程里有多少行java代码

public class TestCodeNum { public static void main(String[] args) throws IOException { // java代码 int java_num = getProjectFileNumber(new File("D:\\lw\\work_space\\yxhd\\lcs\\lcs-service\\src\\main\\java\\io\\kyoto"), ".java"); // resou

iOS开发- 查询项目代码行数

...其实, 这功能也没什么用. 就是查询一个项目总的代码行数. 玩玩倒是可以. 方法: 在终端下面依次输入: cd 项目文件 find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" ")" -print | xargs wc -l

SqlSever基础 count 查询一个表有多少行

镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1 table 2 code 1 --创建一个数据库 2 create database helloworld1 3 4 use master 5 drop database helloworld1 6 7 --用helloworld1这个数据库 8 use helloworld1 9 10 --

iOS 统计项目代码行数

最近去面试 对面的"他" 问我其中一个问题 是 "你的项目代码量是多少?" 当时的确有点蒙圈, 我可以从整个项目打包的角度考虑项目大小,我还真没想过到底我的项目代码量,于是我大概表达了一下 "我的确没从代码量考虑过项目,请教一下你们如何去统计的 如果统计项目代码量,用来干什么呢 " 然后对方回答的话我比较意外"用看的...就是看..." 大概是几个字略过去了 没有对我的疑问有任何价值性质的回应. 基于钻研精神,我后来还是问了我