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

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

在Java中遞歸列出文件

在Java中遞歸列出文件

在Java中遞歸列出文件如何遞歸列出Java目錄下的所有文件?框架提供任何實(shí)用工具嗎?我看到了很多令人討厭的實(shí)現(xiàn)。但是沒(méi)有一個(gè)是從框架或者尼歐
查看完整描述

3 回答

?
慕尼黑5688855

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

Java 8提供了一個(gè)很好的流來(lái)處理樹(shù)中的所有文件。

Files.walk(Paths.get(path))
        .filter(Files::isRegularFile)
        .forEach(System.out::println);

這為遍歷文件提供了一種自然的方式。因?yàn)樗且粋€(gè)流,所以您可以對(duì)結(jié)果執(zhí)行所有良好的流操作,例如限制、分組、映射、提前退出等等。

更新:我可以指出還有文件,查找這需要一個(gè)雙預(yù)測(cè)如果您需要檢查文件屬性,這可能會(huì)更有效。

Files.find(Paths.get(path),
           Integer.MAX_VALUE,
           (filePath, fileAttr) -> fileAttr.isRegularFile())
        .forEach(System.out::println);

請(qǐng)注意,雖然JavaDoc沒(méi)有這樣做,但是這個(gè)方法可能比文件.走它實(shí)際上是相同的,如果還在篩選器中檢索文件屬性,則可以觀察到性能上的差異。最后,如果需要對(duì)屬性進(jìn)行篩選,請(qǐng)使用文件,查找,否則使用文件.走,主要是因?yàn)橛谐d,而且更方便。

試驗(yàn)應(yīng)要求,我提供了許多答案的性能比較。檢查一下包含結(jié)果和測(cè)試用例的GitHub項(xiàng)目.


查看完整回答
反對(duì) 回復(fù) 2019-06-17
?
絕地?zé)o雙

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

FileUtilsiterateFileslistFiles方法。試試看。(來(lái)自公野)

編輯:你可以檢查這里不同方法的基準(zhǔn)??瓷先ス?io方法很慢,所以選擇一些速度更快的方法。從這里開(kāi)始(如有關(guān)系)


查看完整回答
反對(duì) 回復(fù) 2019-06-17
?
蠱毒傳說(shuō)

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

/準(zhǔn)備運(yùn)行

import java.io.File;public class Filewalker {

    public void walk( String path ) {

        File root = new File( path );
        File[] list = root.listFiles();

        if (list == null) return;

        for ( File f : list ) {
            if ( f.isDirectory() ) {
                walk( f.getAbsolutePath() );
                System.out.println( "Dir:" + f.getAbsoluteFile() );
            }
            else {
                System.out.println( "File:" + f.getAbsoluteFile() );
            }
        }
    }

    public static void main(String[] args) {
        Filewalker fw = new Filewalker();
        fw.walk("c:\\" );
    }}


查看完整回答
反對(duì) 回復(fù) 2019-06-17
  • 3 回答
  • 0 關(guān)注
  • 452 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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