Java使用FilenameFilter查找出目錄下指定后綴的文件示例
本文實(shí)例講述了Java使用FilenameFilter查找出目錄下指定后綴的文件。分享給大家供大家參考,具體如下:
在項(xiàng)目中需要查找指定目錄下特定后綴的文件,在jdk官網(wǎng)上查看資料時(shí)找到了FilenameFilter這個(gè)類,怎么用也寫了,但是就是沒給個(gè)例子,對(duì)有些人實(shí)在有些不方便,這也是寫這篇文章的初衷,雖然簡(jiǎn)單但希望能幫到需要的小伙伴們
下面直接入正題,給出demo程序:
package net.csdn.johnhuster;
import java.io.File;
import java.io.FilenameFilter;
public class FileNameFilterDemo {
//內(nèi)部類
public class FileFilter implements FilenameFilter
{
private String filterRule;
public FileFilter(String filter)
{
this.filterRule = filter;
}
@Override
public boolean accept(File dir, String name) {
if(name.lastIndexOf('.')>0)
{
// get last index for '.' char
int lastIndex = name.lastIndexOf('.');
// get extension
String str = name.substring(lastIndex);
// match path name extension
if(str.equals(this.filterRule))
{
return true;
}
}
return false;
}
public static void main(String[] args)
{
File f = null;
File[] paths;
FileNameFilterDemo fileFilter = new FileNameFilterDemo();
try{
// create new file
f = new File("d:\\fileList");
// 文件文件名字過(guò)濾器
FilenameFilter fileNameFilter = fileFilter .new FileFilter(".txt") ;
// returns pathnames for files and directory
paths = f.listFiles(fileNameFilter);
// for each pathname in pathname array
for(File path:paths){
// prints file and directory paths
System.out.println(path);
}
}catch(Exception e)
{
// if any error occurs
e.printStackTrace();
}
}
}
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java文件與目錄操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
- java使用Filter實(shí)現(xiàn)自動(dòng)登錄的方法
- java中使用Filter控制用戶登錄權(quán)限具體實(shí)例
- Java中過(guò)濾器 (Filter) 和 攔截器 (Interceptor)的使用
- 使用JAVA8 filter對(duì)List多條件篩選的實(shí)現(xiàn)
- java過(guò)濾器中Filter的ChainFilter過(guò)濾鏈
- 解決java執(zhí)行cmd命令調(diào)用ffmpeg報(bào)錯(cuò)Concat error - No such filter ''[0,0]''問(wèn)題
- JAVA通過(guò)Filter實(shí)現(xiàn)允許服務(wù)跨域請(qǐng)求的方法
- Java中filter用法完整代碼示例
- Java 使用Filter實(shí)現(xiàn)用戶自動(dòng)登陸
相關(guān)文章
MyBatis-plus的五種批量插入方式對(duì)比分析
本文主要介紹了MyBatis-plus的五種批量插入方式對(duì)比分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
Mybatis傳list參數(shù)調(diào)用oracle存儲(chǔ)過(guò)程的解決方法
怎么利用MyBatis傳List類型參數(shù)到數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程中實(shí)現(xiàn)批量插入數(shù)據(jù)?接下來(lái)通過(guò)本文給大家介紹Mybatis傳list參數(shù)調(diào)用oracle存儲(chǔ)過(guò)程,需要的朋友可以參考下2017-03-03
詳解Java中IO字節(jié)流基本操作(復(fù)制文件)并測(cè)試性能
這篇文章主要介紹了Java中IO字節(jié)流基本操作(復(fù)制文件)并測(cè)試性能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
淺談Java數(shù)據(jù)結(jié)構(gòu)之稀疏數(shù)組知識(shí)總結(jié)
今天帶大家了解一下Java稀疏數(shù)組的相關(guān)知識(shí),文中有非常詳細(xì)的介紹及代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
Dubbo無(wú)法訪問(wèn)遠(yuǎn)程Zookeeper已注冊(cè)服務(wù)的問(wèn)題解決方案
今天小編就為大家分享一篇關(guān)于Dubbo無(wú)法訪問(wèn)遠(yuǎn)程Zookeeper已注冊(cè)服務(wù)的問(wèn)題解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
詳解ConcurrentHashMap如何保證線程安全及底層實(shí)現(xiàn)原理
這篇文章主要為大家介紹了ConcurrentHashMap如何保證線程安全及底層實(shí)現(xiàn)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

