java--FilenameFilter檔案過濾器
轉載自:http://www.cnblogs.com/jico/archive/2011/01/04/1925667.html
作者:萵筍炒肉
java--FilenameFilter檔案過濾器
java中有一個FilenameFilter的介面,能夠過濾得到指定型別的檔案或者目錄,其中必須重寫accept(File file,String path)方法
public class DirFilter implements FilenameFilter{
private String type;
public DirFilter(String tp){
this.type=tp;
}
public boolean accept(File fl,String path) throws Exception{
File file=new File(path);
String filename=file.getName();
return filename.indexOf(type)!=-1;
}
}
具體應用方法:File假如是一個Directory,可以通過list()方法得到這個目錄下所有的檔案和目錄的名稱陣列,list()方法,一種是沒有引數,一種是實現FilenameFilter介面的引數,例如要獲得一個指定目錄下的所有的java檔案,就要使用第二種帶引數的list()方法
public class Test{
public static void main(String[] args){
try{
//指定目錄(“.”表示當前目錄)
File dir=new File(".");
String[] names;
//獲得所有java檔案
DirFilter filter=new DirFilter(".java");
names=dir.list(filter);
//列印所有java檔名稱
for(int i=0;i<names.length;i++){
System.out.println("i:"+i+" name:"+names[i]);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
其中這裡還可以將DirFilter類作為Test的一個匿名內部類來實現,例如:
public class Test{
//type:必須宣告為final型別,作為一個匿名內部類,訪問的變數都必須宣告為final型別
public static FilenameFilter filter(final String type) throws Exception{
return new FilenameFilter(){
public boolean accept(File file,Stirng path){
String filename=new File(path).getName();
return filename.indexOf(type)!=-1;
}
};
}
public static void main(String[] args){
try{
File file=new File(".");
String names[];
names=file.list(filter(".java");
for(int i=0;i<names.length;i++){
System.out.println("i:"+i+" filename:"+names[i]);
}
catch(Exception e){
e.printStackTrace();
}
}
}
//基礎知識1:在一個java檔案中,有且只能有一個公共類,即類的修飾符為public
//基礎知識2:介面中所定義的任何物件預設作用域都為public
//基礎知識3:Exception的名稱空間為java.lang.Exception
/**--注意--**/
以上程式碼都是在文字編輯器中寫的,可能會有些許紕漏
相關文章
- 用 tr 過濾檔案
- 過濾器實現檔案的gzip壓縮過濾器
- git上傳過濾檔案Git
- java中listFiles(Filefilter filter)檔案過濾器的實現過程JavaFilter過濾器
- 檔案字尾名的過濾
- struts中配置過濾檔案! (轉)
- 過濾Servlet--過濾器Servlet過濾器
- input檔案選擇框檔案過濾引數accept
- 過濾器過濾器
- 如何檢視抓包檔案所使用的捕獲過濾器過濾器
- 過濾器解決檔案上傳下載跨域問題過濾器跨域
- 4、過濾器的使用及自定義過濾器過濾器
- 點雲濾波器與過濾器過濾器
- 【ZIP】打包過濾指定目錄和檔案
- 代理過濾器過濾器
- vue 過濾器Vue過濾器
- Filter過濾器Filter過濾器
- hbase過濾器過濾器
- CAN過濾器過濾器
- Servlet過濾器Servlet過濾器
- 26、過濾器過濾器
- jms過濾器過濾器
- DataV過濾器過濾器
- Vue過濾器Vue過濾器
- win10系統下檔案過濾器的使用教程【圖文】Win10過濾器
- Xor過濾器:比布隆Bloom過濾器更快,更小過濾器OOM
- Files.newDirectoryStream掃描/過濾目錄檔案
- linux過濾空檔案的命令總結Linux
- 在指定的檔案過濾想要的內容
- asp.net core MVC 過濾器之ActionFilter過濾器(二)ASP.NETMVC過濾器Filter
- 誠翔濾器光刻膠過濾器濾芯:保障光刻過程的高效與安全過濾器
- Vue中過濾器Vue過濾器
- 布隆過濾器過濾器
- vue---過濾器Vue過濾器
- PHP 過濾器(Filter)PHP過濾器Filter
- vue filters過濾器VueFilter過濾器
- Java Filter過濾器JavaFilter過濾器
- lucene Filter過濾器Filter過濾器