import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class ReadFile ...{ static long normalLines = 0; static long commentLines = 0; static long whiteLines = 0; public ReadFile() ...{ } /** *//** * DELETE all folder and files * @param delpath String * @throws FileNotFoundException * @throws IOException * @return boolean */ public static boolean deletefile(String delpath) throws FileNotFoundException, IOException ...{ try ...{ File file = new File(delpath); if (!file.isDirectory()) ...{ System.out.println("1"); file.delete(); } else if (file.isDirectory()) ...{ System.out.println("2"); String[] filelist = file.list(); for (int i = 0; i < filelist.length; i++) ...{ File delfile = new File(delpath + "/" + filelist[i]); if (!delfile.isDirectory()) ...{ System.out.println("path=" + delfile.getPath()); System.out.println("absolutepath=" + delfile.getAbsolutePath()); System.out.println("name=" + delfile.getName()); delfile.delete(); System.out.println("DELETE SUCCESS"); } else if (delfile.isDirectory()) ...{ deletefile(delpath + "/" + filelist[i]); } } file.delete(); } } catch (FileNotFoundException e) ...{ System.out.println("deletefile() Exception:" + e.getMessage()); } return true; } /** *//** * READ all folder and files * @param delpath String * @throws FileNotFoundException * @throws IOException * @return boolean */ public static boolean readfile(String filepath) throws FileNotFoundException, IOException ...{ try ...{ File file = new File(filepath); if (!file.isDirectory()) ...{ System.out.println("file"); System.out.println("path=" + file.getPath()); System.out.println("absolutepath=" + file.getAbsolutePath()); System.out.println("name=" + file.getName()); } else if (file.isDirectory()) ...{ System.out.println("folder=" + file.getName()); String[] filelist = file.list(); for (int i = 0; i < filelist.length; i++) ...{ File readfile = new File(filepath + "/" + filelist[i]); if (!readfile.isDirectory()) ...{ System.out.println("--------------------------------------------"); System.out.println("path=" + readfile.getPath()); System.out.println("absolutepath=" + readfile.getAbsolutePath()); System.out.println("name=" + readfile.getName()); parse(readfile); } else if (readfile.isDirectory()) ...{ readfile(filepath + "/" + filelist[i]); } } } } catch (FileNotFoundException e) ...{ System.out.println("readfile() Exception:" + e.getMessage()); } return true; } private static void parse(File f) ...{ BufferedReader br = null; boolean comment = false; try ...{ br = new BufferedReader(new FileReader(f)); String line = ""; 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 (line.startsWith("/*") && line.endsWith("*/")) ...{ commentLines ++; } else if (true == comment) ...{ commentLines ++; if(line.endsWith("*/")) ...{ comment = false; } } else if (line.startsWith("//")) ...{ commentLines ++; } else ...{ normalLines ++; } } } catch (FileNotFoundException e) ...{ e.printStackTrace(); } catch (IOException e) ...{ e.printStackTrace(); } finally ...{ if(br != null) ...{ try ...{ br.close(); br = null; } catch (IOException e) ...{ e.printStackTrace(); } } } } public static void main(String[] args) ...{ try ...{ readfile("D:/file"); //deletefile("D:/file"); } catch (FileNotFoundException ex) ...{ ex.printStackTrace(); } catch (IOException ex) ...{ ex.printStackTrace(); } System.out.println("ok"); System.out.println("normalLines:" + normalLines); System.out.println("commentLines:" + commentLines); System.out.println("whiteLines:" + whiteLines); }}