u013910357的专栏

import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;/** * * @author jun * */public class SumJavaCode { static long normalLines = 0; // 空行 static long commentLines = 0; // 注释行 static long whiteLines = 0; // 代码行 public static void main(String[] args) { SumJavaCode sjc = new SumJavaCode(); File f = new File("D://spring-framework-2.0-with-dependencies//spring-framework-2.0"); System.out.println(f.getName()); sjc.treeFile(f); System.out.println("空行:" + normalLines); System.out.println("注释行:" + commentLines); System.out.println("代码行:" + whiteLines); } /** * 查找出一个目录下所有的.java文件 * * @param f 要查找的目录 */ private void treeFile(File f) { File[] childs = f.listFiles(); //int count = 0; //int sum = 0; for (int i = 0; i < childs.length; i++) { // System.out.println(preStr + childs[i].getName()); if (!childs[i].isDirectory()) {if (childs[i].getName().matches(".*//.java$")) {System.out.println(childs[i].getName());//count ++;sumCode(childs[i]);} } else {treeFile(childs[i]);//sum += count; } } } /** * 计算一个.java文件中的代码行,空行,注释行 * * @param file *要计算的.java文件 */ private void sumCode(File file) { BufferedReader br = null; boolean comment = false; try { br = new BufferedReader(new FileReader(file)); String line = ""; try {while ((line = br.readLine()) != null) {line = line.trim();if (line.matches("^[//s&&[^//n]]*$")) {whiteLines++;} else if (line.startsWith("/*") && !line.endsWith("*/")) {commentLines++;comment = true;} else if (true == comment) {commentLines++;if (line.endsWith("*/")) {comment = false;}} else if (line.startsWith("//")) {commentLines++;} else {normalLines++;}} } catch (IOException e) {e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } finally { if (br != null) {try {br.close();br = null;} catch (IOException e) {e.printStackTrace();} } } }}//不知道怎么编写,网上找了很多,但是也找不到可以运行的,这里虽然找到一个,,但是也不能运行。//我找不出问题,不知道为因为什么原因,还请大神指出为什么,谢谢

贪婪是最真实的贫穷,满足是最真实的财富

u013910357的专栏

相关文章:

你感兴趣的文章:

标签云: