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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

是否可以使用java中的FileNameFilter接口按大小過濾文件

是否可以使用java中的FileNameFilter接口按大小過濾文件

炎炎設(shè)計(jì) 2021-12-01 16:28:25
我知道我可以使用FileFilter界面來做我想做的事,但是我有一個(gè)練習(xí),它以某種方式要求我使用FileNameFilter實(shí)現(xiàn)按大小過濾文件。我這里有一個(gè)簡單的代碼,我提供了一個(gè)目錄,該代碼應(yīng)該在技術(shù)上過濾該目錄中的文件,并且只提供以“.exe”結(jié)尾且具有特定大小的文件。但是我無法使用大小過濾器,F(xiàn)ileNameFilter因?yàn)樗鼤?huì)檢查我發(fā)送的目錄的大小,而不是其中的文件。我的 FileNameFilter 實(shí)現(xiàn):import java.io.File;import java.io.FilenameFilter;public class MyFileFilter implements FilenameFilter {    private String x;    private int size;    public MyFileFilter(String x, int size){        this.x = x;        this.size = size;    }    @Override    public boolean accept(File dir, String name) {        //i can't use the dir.length because it checks the size of the directory and not the inside files        return name.endsWith(x); // && dir.length() == size;    }}和主要:File f = new File("C:\\Users\\Emucef\\Downloads\\Programs");MyFileFilter mff = new MyFileFilter(".exe", 9142656);File[] list = f.listFiles(mff);所以基本上問題是:有沒有辦法使用按大小過濾文件FileNameFilter,如果是這樣,如何?
查看完整描述

3 回答

?
萬千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

嘗試這個(gè):


@Override

public boolean accept(File dir, String name) {

    File file = new File(dir, name);

    return name.endsWith(x) && file.length() == size;

}


查看完整回答
反對 回復(fù) 2021-12-01
?
藍(lán)山帝景

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊

@Override

    public boolean accept(File dir, String name) {

        //i can't use the dir.length because it checks the size of the directory and not the inside files

        if(name.endsWith(x))

        {

            File f = new File(dir.getPath(), name);

            return f.length() == size;

        }

        return false;

    }


查看完整回答
反對 回復(fù) 2021-12-01
?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

使用 FileFiler 而不是 FilenameFilter 更適合您打算實(shí)現(xiàn)的目標(biāo)。您的過濾器類將如下所示:


import java.io.File;

import java.io.FileFilter;


public class MyFileFilter implements FileFilter {

    private String x;

    private int size;


    public MyFileFilter(String x, int size){

        this.x = x;

        this.size = size;

    }


    @Override

    public boolean accept(File file) {

        return file.endsWith(x) && file.length() == size;

    }

}


查看完整回答
反對 回復(fù) 2021-12-01
  • 3 回答
  • 0 關(guān)注
  • 210 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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