Java File List Load getFilesFromDirectoryByExtension(File directory, String extension)

Here you can find the source of getFilesFromDirectoryByExtension(File directory, String extension)

Description

get Files From Directory By Extension

License

Open Source License

Declaration

public static List<File> getFilesFromDirectoryByExtension(File directory, String extension) 

Method Source Code


//package com.java2s;
/*/*from  w  w  w .ja  va 2 s .co  m*/
 * Musicdroid: An on-device music generator for Android
 * Copyright (C) 2010-2014 The Catrobat Team
 * (<http://developer.catrobat.org/credits>)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * An additional term exception under section 7 of the GNU Affero
 * General Public License, version 3, is available at
 * http://developer.catrobat.org/license_additional_term
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static List<File> getFilesFromDirectoryByExtension(File directory, String extension) {
        String[] extensions = { extension };
        return getFilesFromDirectoryByExtension(directory, extensions);
    }

    public static List<File> getFilesFromDirectoryByExtension(File directory, final String[] extensions) {
        List<File> filesFound = new ArrayList<File>();
        File[] contents = directory.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                // ignore automatically created build.xml files
                if (pathname.getName().equals("build.xml")) {
                    return false;
                }
                for (String extension : extensions) {
                    if (pathname.getName().endsWith(extension)) {
                        return true;
                    }
                }
                return (pathname.isDirectory() && !pathname.getName().equals("gen")
                        && !pathname.getName().equals("reports"));
            }
        });

        for (File file : contents) {
            if (file.isDirectory()) {
                filesFound.addAll(getFilesFromDirectoryByExtension(file, extensions));
            } else {
                filesFound.add(file);
            }
        }

        return filesFound;
    }
}

Related

  1. getFileListingNoSort(File aStartingDir, boolean recursive)
  2. getFilesByExt(String dirName, String ext)
  3. getFilesFromDir(File dir)
  4. getFilesFromDirectory(final File folder)
  5. getFilesFromDirectory(final String directory)