簡體   English   中英

如何在Java中掃描文件夾?

[英]How do I scan a folder in Java?

我需要在Java中掃描一個特定的文件夾,並能夠返回特定類型的整數個文件(不僅基於擴展名,還基於命名約定。)例如,我想知道有多少個JPG文件\\ src文件夾有一個簡單的整數文件名(例如,1.JPG到30.JPG)。 誰能指出我正確的方向? 謝謝

java.io.File.list(FilenameFilter)是您正在尋找的方法。

我有一個方法,使用正則表達式模式來處理相當復雜的文件結構。 可以使用類似的東西,雖然我確信它可以比我的例子(為了安全而編輯)更簡潔。

/**
     * Get all non-directory filenames from a given foo/flat directory
     * 
     * @param network
     * @param typeRegex
     * @param locationRegex
     * @return
     */
    public List<String> getFilteredFilenames(String network, String typeRegex, String locationRegex) {

        String regex = null;

        List<String> filenames = new ArrayList<String>();
        String directory;

        // Look at the something network
        if (network.equalsIgnoreCase("foo")) {

            // Get the foo files first
            directory = this.pathname + "/" + "foo/filtered/flat";
            File[] foofiles = getFilenames(directory);

            // run the regex if need be.
            if (locationRegex != null && typeRegex != null ) {
                regex = typeRegex + "." + locationRegex;

                //System.out.println(regex);
            }


            for (int i = 0; i < foofiles.length; i++) {
                if (foofiles[i].isFile()) {
                    String file = foofiles[i].getName();

                    if (regex == null) {
                        filenames.add(file);
                    }
                    else {
                        if (file.matches(regex)) {
                            filenames.add(file);
                        }
                    }
                }
            }
        }

        return filenames;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM