第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

排除文件過濾器

排除文件過濾器

明月笑刀無情 2021-07-16 18:01:23
我使用以下代碼過濾具有以下擴展名的文件FileFilter fileFilter= new WildcardFileFilter("*.docx");File[] sampleFiles= filesDirectory.listFiles(fileFilter);但是,如果我想要相反的情況,我想排除具有此擴展名的文件。目前我有以下代碼public class FileFilter {    public static void main(String[] args) {        File dir = new File("C:\\temp\\filter-exclude");        File[] files = dir.listFiles(new ExcludeFilter());        for (File f : files) {            System.out.println("file: " + f.getName());        }    }    public static class ExcludeFilter implements java.io.FileFilter {        @Override        public boolean accept(File file) {            if (file.getName().toLowerCase().endsWith("docx")) {                return false;            }            return true;        }    }}但不確定是否已經(jīng)有這方面的課程。有這樣的課嗎?
查看完整描述

3 回答

?
牛魔王的故事

TA貢獻1830條經(jīng)驗 獲得超3個贊

你可以用notFileFilter

dir.listFiles(
 FileFilterUtils.notFileFilter(
   FileFilterUtils.suffixFileFilter(".docx")))


查看完整回答
反對 回復(fù) 2021-07-29
?
慕村9548890

TA貢獻1884條經(jīng)驗 獲得超4個贊

沒有FileFilter處理像您這樣的常見情況的內(nèi)置實現(xiàn)。
為了更短,您可以使用匿名類或更好的 lambda 作為FileFilter功能接口,例如:

 File[] files = dir.listFiles(f -> !f.getName().toLowerCase().endsWith("docx"));


查看完整回答
反對 回復(fù) 2021-07-29
?
瀟湘沐

TA貢獻1816條經(jīng)驗 獲得超6個贊

由于您已經(jīng)在使用commons-io,請查看NotFileFilter。

鑒于您的用例,一個示例如下所示:

FileFilter fileFilter = new NotFileFilter(new WildcardFileFilter("*.docx"))
File[] files = dir.listFiles(fileFilter);


查看完整回答
反對 回復(fù) 2021-07-29
  • 3 回答
  • 0 關(guān)注
  • 367 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號