java_获取多个文件夹下所有.java源码的总行数
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class GetSourceCodeSumLine {
/**
* @param args
*/
public static void main(String[] args) {
// String JavaSourceCodeDir[] = {"G:\\workspace\\...\\...\\src", "G:\\workspace\\...\\...\\src"};
String JavaSourceCodeDir[] = { "E:\\workspace\\...\\...\\...\\src\\com" };
long codeCountLine = getJavaSourceCodeCountLine(JavaSourceCodeDir);
// ArrayList<String> JavaSourceCodeDirs = new ArrayList<String>();
//// JavaSourceCodeDirs.add("G:\\workspace\\...\\...\\src");
//// JavaSourceCodeDirs.add("G:\\workspace\\...\\...\\src");
// JavaSourceCodeDirs.add("E:\\workspace\\...\\...\\...\\src");
//
// long codeCountLine = getJavaSourceCodeCountLine(JavaSourceCodeDirs);
System.out.println(JavaSourceCodeDir.toString() + ":共有 "
+ codeCountLine + " 行java源代码");
}
public static long getJavaSourceCodeCountLine(String[] JavaSourceCodeDirs) {
long codeCountLine = 0;
for (String dirPath : JavaSourceCodeDirs) {
File fl = new File(dirPath);
if (fl.exists()) {
codeCountLine += getJavaFileCountLine(fl);
}
}
return codeCountLine;
}
public static long getJavaSourceCodeCountLine(ArrayList<String> JavaSourceCodeDirs) {
long codeCountLine = 0;
for (String dirPath : JavaSourceCodeDirs) {
File fl = new File(dirPath);
if (fl.exists()) {
codeCountLine += getJavaFileCountLine(fl);
}
}
return codeCountLine;
}
private static long getJavaFileCountLine(File fl) {
long javaCodeCountLine = 0;
if (fl != null && fl.exists()) {
if (fl.isDirectory()) {
File[] listFiles = fl.listFiles();
for (File file : listFiles) {
javaCodeCountLine += getJavaFileCountLine(file);
}
} else if (fl.isFile() && !fl.isHidden()) {
if (fl.getName().endsWith(".java")) {
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader(fl);
br = new BufferedReader(fr);
while (br.readLine() != null)
javaCodeCountLine++;
br.close();
fr.close();
} catch (Exception e) {
} finally {
if (fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
fr = null;
}
}
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
br = null;
}
}
}
}
}
}
return javaCodeCountLine;
}
}
java_获取多个文件夹下所有.java源码的总行数的更多相关文章
- Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...
- Java——用程序编译一个文件夹下所有java文件到另一个文件夹下
package com.java.test.a; import java.io.IOException; import java.util.ArrayList; import java.util.Ar ...
- Java——DOS命令窗口用命令编译文件夹下所有.java文件
1.进入指定目录 cd 进入用户主目录 cd ~ 进入用户主目录 cd - 返回进入此目录之前所在的目录 cd .. 返回上级目录 cd\ 直接退回到当前盘根目录2. ...
- C++ 获取某一文件夹下的所有文件名
//********************************************************************** // Method: 获取文件夹下所有文件 // Fu ...
- IDEA创建maven的web项目时,main文件夹下没有java,resources目录等源文件夹
https://blog.csdn.net/qq_34377273/article/details/83183307
- eclipse下查看java源码设置
myway: 1.选择一函数,按住ctrl,显示open declaration(或按F3); 2.点进去: 如果未配置,点 source attachment configuration -- ex ...
- 如何设置eclipse下查看java源码
windows--preferences--java--installed jres --选中jre6--点击右边的edit--选中jre6/lib/rt.jar --点击右边的 source att ...
- Windows 下通过DOS命令获取指定文件夹下所有文件的全路径
1.在你要获取路径的文件夹下 新建文本文档 (.txt) 文件, 2.输入以下内容保存 DIR *.* /S/B >LIST.TXT /s 表示递归 3. 将文件后缀改成 .bat 4.双击运行 ...
- c/c++获取文件夹下所有文件名
如何获取某一文件夹下所有文件名,是一个很有意思的问题.网上代码很多,找了个简单的,特此收录. #include <iostream> #include <io.h> #incl ...
随机推荐
- 【腾讯优测干货分享】微信小程序之自动化亲密接触
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/HcPakz5CV1SHnu-U8n85pw 导语 山雨欲来风满楼,最 ...
- 后端数据库使用 Bomb方案
不再需要阿里云进行部署: http://docs.bmob.cn/ios/faststart/index.html?menukey=fast_start&key=start_ios
- HTML模块化:使用HTML5 Boilerplate模板
HTML5 Boilerplate 是一个由 Paul Irish(Google Chrome 开发人员.jQuery 项目成员.Modernizr 作者.yayQuery 播客主持人)主导的“前端开 ...
- js如何准确获取当前页面url网址信息
1.window.location.href(设置或获取整个 URL 为字符串) var test = window.location.href;alert(test);返回:http://i.cnb ...
- Flash对不同的浏览器的兼容性
现在遇到两个Flash的兼容性问题: 1.找不到指定的摄像头(VCamera),可是该摄像头在QQ等IM工具中是可以正常使用的 2.能找到摄像头,不过他的预览是黑屏 针对第一个问题: a.采用IE内核 ...
- Oracle to_char格式化函数 显示毫秒
racle如何显示毫秒 date类型只能精确到秒,要想精确到毫秒,需要使用timestamp类型. 应用举例: 举例1: select to_char(systimestamp,'yy ...
- Nancy简单实战之NancyMusicStore(三):完善商品信息与管理
前言 上一篇,我们做了不少准备,并且还把我们NancyFx音乐商城的首页打造好了.这一篇主要是完善我们在首页的商品浏览问题和添加对商品的管理. 下面开始正题: 商品详情 首先是查看单个商品的详情: 先 ...
- CodeForces 722B
B. Verse Pattern time limit per test:1 second memory limit per test:256 megabytes input:standard inp ...
- Function.caller、arguments.caller、argument.callee
caller.callee是与javascript函数相关的两个属性,今天来总结下. Function.caller caller是javascript函数的一个属性,它指向调用当前函数的函数,如果函 ...
- 使用C#读写ini配置文件
INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打工,主要存放的是用户所做的选择或系统的各种参数. INI文件其实并不是普通的文本文件.它有自己的结构.由若 ...