Here you can find the source of getFilesByName(File path, String name)
Parameter | Description |
---|---|
path | The path to check. |
name | The file name. |
public static Collection<File> getFilesByName(File path, String name)
//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(); } }