JAVA作业——输入指定文件,计算代码行数

来源:互联网 发布:怎么优化群排名 编辑:程序博客网 时间:2024/05/18 01:12
package iotest;    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 Lj {        public static int whiteLines = 0;      public static int commentLines = 0;      public static int normalLines = 0;                  /**      * @param args      */      public static void main(String[] args)throws IOException {     //     File f = new File("E:\\JAVA编译\\Bread.java");        @SuppressWarnings("resource")Scanner in = new Scanner(System.in);     String str =in.nextLine();     try{     @SuppressWarnings("unused")String encoding="";     File f =new File("E:\\JAVA编译\\"+str);     sumCode(f);     }catch(Exception e){     System.out.println(e);     }                 }            public 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);                     System.out.println("总行数:"+(whiteLines+commentLines+normalLines));                    br.close();                       br = null;                   } catch (IOException e) {                       e.printStackTrace();                   }               }           }       }  }  

0 0
原创粉丝点击