/** * Copyright (c) 2009 - 2010 AppWork UG(haftungsbeschränkt) <e-mail@appwork.org> * * This file is part of org.appwork.utils * * This software is licensed under the Artistic License 2.0, * see the LICENSE file or http://www.opensource.org/licenses/artistic-license-2.0.php * for details */ package org.appwork.utils; import java.io.File; import java.io.FileFilter; import java.io.FileNotFoundException; import java.io.IOException; import java.net.FileNameMap; import java.net.URLConnection; import java.util.ArrayList; import java.util.LinkedList; import java.util.Locale; public class Files { /** * Returns the fileextension for a file with the given name * * @see #getFileNameWithoutExtension(String) * @param name * @return */ public static String getExtension(final String name) { if (name == null) { return null; } final int index = name.lastIndexOf("."); if (index < 0) { return null; } return name.substring(index + 1).toLowerCase(); } /** * return all files ( and folders if includeDirectories is true ) for the * given files * * @param includeDirectories * @param files * @return */ public static java.util.List<File> getFiles(final boolean includeDirectories, final boolean includeFiles, final File... files) { return Files.getFiles(new FileFilter() { @Override public boolean accept(final File pathname) { if (includeDirectories && pathname.isDirectory()) { return true; } if (includeFiles && pathname.isFile()) { return true; } return false; } }, files); } /** * @param b * @param c * @param filter * @param source * @return */ public static java.util.List<File> getFiles(final FileFilter filter, final File... files) { final java.util.List<File> ret = new ArrayList<File>(); if (files != null) { for (final File f : files) { if (!f.exists()) { continue; } if (filter == null || filter.accept(f)) { ret.add(f); } if (f.isDirectory()) { ret.addAll(Files.getFiles(filter, f.listFiles())); } } } return ret; } }