集册 Java实例教程 递归获取目录中的文件

递归获取目录中的文件

欢马劈雪     最近更新时间:2020-01-02 10:19:05

534
递归获取目录中的文件
/*from N o w  J a v a  .   c o m*/

/*

 * Copyright 2012 Joseph Spencer

 *

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 *      http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */

//package com.nowjava;


import java.io.File;

import java.io.FileFilter;


import java.util.ArrayList;


public class Main {

    public static ArrayList<File> recursivelyGetFilesInDirectory(

            File directory, FileFilter filter) {

        return getFilesInDirectory(directory, new ArrayList<File>(),

                filter, true);

    }


    public static ArrayList<File> getFilesInDirectory(File directory,

            FileFilter filter) {

        return getFilesInDirectory(directory, new ArrayList<File>(),
        /*
        来 自*
         时代Java公众号 - N o w J a  v a . c o m
        */

                filter, false);

    }


    public static ArrayList<File> getFilesInDirectory(File directory,

            FileFilter filter, boolean recursive) {

        return getFilesInDirectory(directory, new ArrayList<File>(),

                filter, recursive);

    }


    public static ArrayList<File> getFilesInDirectory(File directory,

            ArrayList<File> files, FileFilter filter, boolean recursive) {

        if (directory != null && directory.isDirectory()) {

            File[] listings = filter != null ? directory.listFiles(filter)

                    : directory.listFiles();


            if (listings != null) {

                for (
展开阅读全文