Java Folder Read getFilesByName(File path, String name)

Here you can find the source of getFilesByName(File path, String name)

Description

Get all files existing in the path with the specified name.

License

Open Source License

Parameter

Parameter Description
path The path to check.
name The file name.

Return

The files list (empty array if none).

Declaration

public static Collection<File> getFilesByName(File path, String name) 

Method Source Code


//package com.java2s;
/*/*from ww w  . j  av  a2  s  . c  o  m*/
 * Copyright (C) 2013-2014 Byron 3D Games Studio (www.b3dgs.com) Pierre-Alexandre (contact@b3dgs.com)
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * 
 * 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 General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 */

import java.io.File;
import java.util.ArrayList;
import java.util.Collection;

public class Main {
    /**
     * Get all files existing in the path with the specified name.
     * 
     * @param path The path to check.
     * @param name The file name.
     * @return The files list (empty array if none).
     */
    public static Collection<File> getFilesByName(File path, String name) {
        final Collection<File> filesList = new ArrayList<>(1);
        getFilesByNameRecursive(filesList, path, name);
        return filesList;
    }

    /**
     * Get all files existing in the path with the specified name.
     * 
     * @param filesList The files list.
     * @param path The path to check.
     * @param name The file name.
     */
    private static void getFilesByNameRecursive(Collection<File> filesList, File path, String name) {
        for (final File file : path.listFiles()) {
            if (file.isFile() && file.getName().equals(name)) {
                filesList.add(file);
            } else if (file.isDirectory()) {
                getFilesByNameRecursive(filesList, file, name);
            }
        }
    }

    /**
     * Check if the path is a file.
     * 
     * @param path The path to check.
     * @return <code>true</code> if it is a file, <code>false</code> else.
     */
    public static boolean isFile(String path) {
        if (path == null) {
            return false;
        }
        return new File(path).isFile();
    }
}

Related

  1. getFiles(String thePaths[])
  2. getFilesAndFilesSubDirectories(String directoryName, String regexPattern)
  3. getFilesArray(File baseStorePath, final String fileNameSearchPattern)
  4. getFilesAsArrayList(String path)
  5. getFilesByDate(String directory, final boolean earliestFirst)
  6. getFilesByPath(String toDir)
  7. getFilesByRegxFileName(String dir, final String regxName)
  8. getFilesByType(String fileType, String path)
  9. getFilesByType(String path, final String type)