《Java程序设计》第一次作业:源代码计算器 目标二
2015-05-29 16:56
162 查看
import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Scanner; public class StaticsCodeingLine3 { private static int whiteLines = 0; private static int commentLines = 0; private static int normalLines = 0; /** * @param args */ public static void main(String[] args) throws IOException { /** char a; System.out.print("输入一个路径:"); a = (char)System.in.read(); System.out.println("输入的字符是:"+a); //f = (char)a; File f = new File("D:\\360\\shuchu.txt"); sumCode(f); **/ Scanner in = new Scanner(System.in); String str =in.nextLine(); try{ @SuppressWarnings("unused") String encoding=""; File f =new File("D:\\360\\"+str); sumCode(f); }catch(Exception e){ System.out.println(e); } } private static 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 { System.out.println("空行数:"+whiteLines); System.out.println("注释行数:"+commentLines); System.out.println("代码行数:"+normalLines); br.close(); br = null; } catch (IOException e) { e.printStackTrace(); } } } } }
相关文章推荐
- Eclipse快捷键
- JAVA基础五——面向对象一
- java文件下载
- RSA密钥,JAVA与.NET之间转换
- java开发中的23种设计模式(转)
- eclipse插件OpenExplorer快速打开文件目录
- JAVA -- 线程run和start的区别
- JAVA -- 线程run和start的区别
- JAVA -- 线程run和start的区别
- 课程实验一:目标一:输出该目录下指定类型文件(.cs, .java)的个数、文件的总行数、空行数、注释行数、代码行数
- 初学WEB项目,第一个增删改查的Demo,框架=SpringMVC
- Java安全之公钥与私钥
- java8 之默认方法
- Spring事务
- java中多线程笔记(一)
- Eclipse 3.7手工安装Maven2的插件(包含POM图形编辑工具)
- Java线程问题
- JAVA开发_发送邮件
- Java 中正确使用 hashCode 和 equals 方法
- Java 中正确使用 hashCode 和 equals 方法