1. 程式人生 > >Java 檔案過濾 FileFilter

Java 檔案過濾 FileFilter

原文地址:

1.寫一個類繼承與FileFilter

  1. package com.dream.musicplayer;  
  2. import java.io.File;  
  3. import java.io.FileFilter;  
  4. publicclass MP3FileFilter implements FileFilter {  
  5.     @Override
  6.     publicboolean accept(File file) {  
  7.         // TODO Auto-generated method stub
  8. //      return false;
  9.         if(file.isDirectory())  
  10.             returntrue;  
  11.         else
  12.         {  
  13.             String name = file.getName();  
  14.             if(name.endsWith(".mp3") || name.endsWith(".mp4"))  
  15.                 returntrue;  
  16.             else
  17.                 returnfalse;  
  18.         }  
  19.     }  
  20. }  

2.傳一個路徑,獲取改路徑下的所有mp3 and mp4檔案

  1. /**
     
  2.      * get all the music file in the rootpath. 
  3.      * @param rootPath 
  4.      */
  5.     publicvoid getAllFilePath(String rootPath)  
  6.     {  
  7.         File file = new File(rootPath);  
  8.         File[] files = file.listFiles(new MP3FileFilter());  
  9.         for(int i=0;i<files.length;i++)  
  10.         {  
  11.             if
    (files[i].isDirectory())  
  12.             {  
  13.                 getAllFilePath(files[i].getPath());  
  14.             }  
  15.             else
  16.             {  
  17.                 mArrayListMusicPaths.add(files[i].getPath());  
  18.                 mArrayListMusicNames.add(files[i].getName());  
  19.                 System.out.println(files[i].getPath());  
  20.             }  
  21.         }  
  22.     }  

這樣就可以獲取某個路徑下的所有需要獲取的檔案型別了。