Advertisement
Guest User

CountFile1

a guest
Sep 17th, 2014
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.io.File;
  2.  
  3. import wan.dev.sample.countfile.CountFileExtension1.GenericExtFilter;
  4.  
  5. public class CountFile1 {
  6.     private static final String FILE_DIR = "D:\\";
  7.     private static final String FILE_TEXT_EXT = ".txt";
  8.     private static final String FILE_PPT_EXT = ".pptx";
  9.     private static final String FILE_JPG_EXT = ".jpg";
  10.     private static final String FILE_FLV_EXT = ".flv";
  11.     private static final String FILE_MP3_EXT = ".mp3";
  12.     private static final String FILE_DOCX_EXT = ".docx";
  13.     private static final String FILE_SPREADSHEET_EXT = ".xlsx";
  14.     private static final String FILE_SYSTEM_EXT = ".dll";
  15.     private static final String FILE_OTHER_EXT = ".";
  16.    
  17.     public static void main(String[] args) throws InterruptedException{
  18.        
  19. //      scan and count file
  20.         int totalCountTxt = 0;
  21.         int totalCountPptx = 0;
  22.         int totalCountFlv = 0;
  23.         int totalCountMp3 = 0;
  24.         int totalCountDocx = 0;
  25.         int totalImageCount = 0;
  26.         int totalCountSystem = 0;
  27.         int totalOtherCount = 0;
  28.        
  29.         File file = new File(FILE_DIR);
  30.         calculateFile countTxt    = new calculateFile( file, "Text", FILE_TEXT_EXT, ".dll", ".exe" );
  31.         calculateFile countPptx   = new calculateFile( file, "Power Point", FILE_PPT_EXT );
  32.         calculateFile countJpg    = new calculateFile( file, "Image", FILE_JPG_EXT );
  33.         calculateFile countFlv    = new calculateFile( file, "Video", FILE_FLV_EXT );
  34.         calculateFile countMp3    = new calculateFile( file, "Music", FILE_MP3_EXT );
  35.         calculateFile countDocx   = new calculateFile( file, "Document", FILE_DOCX_EXT );
  36.         calculateFile countSystem = new calculateFile( file, "System", FILE_SYSTEM_EXT );
  37.        
  38.         countTxt.run();
  39.         countPptx.run();
  40.         countJpg.run();
  41.         countFlv.run();
  42.         countMp3.run();
  43.         countDocx.run();
  44.         countSystem.run();
  45.        
  46. //      totalCountTxt = countTxt.getCount();
  47. //      totalCountPptx = countPptx.getCount();
  48. //      totalImageCount = countJpg.getCount();
  49. //      totalCountFlv = countFlv.getCount();
  50. //      totalCountMp3 = countMp3.getCount();
  51. //      totalCountDocx = countDocx.getCount();
  52. //      totalCountSystem = countSystem.getCount();
  53. //     
  54.     }
  55. }
  56.  
  57. //other clas
  58. class calculateFile implements Runnable {
  59.     int count = 0;
  60.     File file = null;
  61.     String[] exts = null;
  62.     String title = null;
  63.  
  64.     public calculateFile(File file, String title, String... exts) throws InterruptedException {
  65.         this.exts = exts;
  66.         this.file = file;
  67.         this.title = title;
  68.          
  69.         }
  70.    
  71.     public int countFiles(File directory, String... exts) {
  72.         this.exts = exts;
  73.         CountFileExtension1 mainclass = new CountFileExtension1();
  74.         int count = 0;
  75.         for(File file : directory.listFiles()) {
  76.             if(file.isDirectory()) {
  77.                 count += countFiles(file, exts);
  78.             }
  79.         String textFile = file.toString();
  80.         for (String ext : exts) {
  81.              if (textFile.endsWith(ext)) {
  82.                 count++;
  83.              }
  84.         }
  85.         }
  86.         return count;
  87.     }
  88.  
  89.     public int getCount(){
  90.         int count = this.count;
  91.         return count;
  92.     }
  93.  
  94.     public void run() {
  95.         count += countFiles(file, exts);
  96.         System.out.println("from " + title);
  97.         System.out.println(count);
  98.     }
  99. }
  100. //  http://stackoverflow.com/questions/12616124/get-number-of-files-in-a-directory-and-its-subdirectories
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement