JAVA作业—从命令行输入两个参数打开文件并计算代码行数 .

来源:互联网 发布:淘宝限时秒杀软件 编辑:程序博客网 时间:2024/06/01 09:06
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 CodeSum {        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);     System.out.println("请输入文件名:");     String str =in.nextLine();     String q = in.nextLine();     try{    @SuppressWarnings("unused")String encoding="";     File f =new File(str+q);     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
原创粉丝点击