java io 随笔1
来源:互联网 发布:中国火炮技术 知乎 编辑:程序博客网 时间:2024/05/22 04:37
闲来无事,写了个程序,统计代码行数。
package com.io.reader;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.util.ArrayList;public class CodesLine2 {public static void main(String[] args) {try {long startTime=System.currentTimeMillis();ArrayList<File> list=getFileByDir(new File("XXX/src"));int totalLine=getTotalLine(list);long endTime=System.currentTimeMillis();System.out.println("行数:"+totalLine);System.out.println("耗时:"+(endTime-startTime));} catch (Exception e) {e.printStackTrace();}}/** * get a line number which is the sum of the line number of each file * @param list * @return * @throws Exception */private static int getTotalLine(ArrayList<File> list)throws Exception{int totalLine=0;for(File f:list){BufferedReader reader=new BufferedReader(new FileReader(f));while((reader.readLine())!=null){totalLine++;}reader.close();}return totalLine;}/** * get a file list which belong to the parameter of dir that is their parent directory * @param dir * @return * @throws FileNotFoundException */private static ArrayList<File> getFileByDir(File dir) throws FileNotFoundException{ArrayList<File> result=null;if(dir.isDirectory()){File[] childFiles=dir.listFiles();result=new ArrayList<File>();for(int i=0;i<childFiles.length;i++){if(!childFiles[i].exists()){throw new FileNotFoundException("this file not found!");}else{if(childFiles[i].isFile()){result.add(childFiles[i]);}else{ArrayList<File> r=getFileByDir(childFiles[i]);for(File f1:r){result.add(f1);}}}}}else{System.out.println("this dir not a directory!");}return result;}}
- java io 随笔1
- 黑马程序员 java基础IO随笔
- 黑马程序员 java基础IO随笔
- JAVA随笔——Java复习与IO输入输出流
- java 随笔1
- java随笔1
- Java:笔记随笔1
- JAVA学习随笔(1)
- JAVA随笔——IO包中的其他对象
- 黑马程序员 java基础IO操作原则随笔
- java笔试题-随笔1
- Java 课堂随笔(1)
- 初学java随笔(1)
- Java随笔1-JVM概述
- java 随笔
- java随笔
- java随笔
- JAVA随笔
- list集合去重
- 大型app开发,推荐三层架构,而不是简单的MVC
- android com.panoramagl应用示例,增加俯仰视角控制
- js弹出层
- C++ map的基本操作和使用
- java io 随笔1
- JavaScript的调试方法(IE)
- PHP笔记(函数)
- #01 Linear Regression Excise
- oracle视图基本操作
- Android ListView长按创建上下文菜单
- oracle
- 不用判断语句比较两个数的大小值
- UIToolBar基本用法