X-Git-Url: https://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2Fresources%2FResourceList.java;fp=src%2Fbe%2Fnikiroo%2Fjvcard%2Fresources%2FResourceList.java;h=0000000000000000000000000000000000000000;hb=f06c81000632cfb5f525ca458f719338f55f9f66;hp=6f87c937d07488fb8f6c37e23f10f6ab25569a21;hpb=a73a906356c971b080c36368e71a15d87e8b8d31;p=jvcard.git diff --git a/src/be/nikiroo/jvcard/resources/ResourceList.java b/src/be/nikiroo/jvcard/resources/ResourceList.java deleted file mode 100644 index 6f87c93..0000000 --- a/src/be/nikiroo/jvcard/resources/ResourceList.java +++ /dev/null @@ -1,123 +0,0 @@ -package be.nikiroo.jvcard.resources; - -// code copied from from: -// http://forums.devx.com/showthread.php?t=153784, -// via: -// http://stackoverflow.com/questions/3923129/get-a-list-of-resources-from-classpath-directory - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Enumeration; -import java.util.regex.Pattern; -import java.util.zip.ZipEntry; -import java.util.zip.ZipException; -import java.util.zip.ZipFile; - -/** - * list resources available from the classpath @ * - */ -public class ResourceList { - - /** - * for all elements of java.class.path get a Collection of resources Pattern - * pattern = Pattern.compile(".*"); gets all resources - * - * @param pattern - * the pattern to match - * @return the resources in the order they are found - */ - public static Collection getResources(final Pattern pattern) { - final ArrayList retval = new ArrayList(); - final String classPath = System.getProperty("java.class.path", "."); - final String[] classPathElements = classPath.split(System - .getProperty("path.separator")); - for (final String element : classPathElements) { - retval.addAll(getResources(element, pattern)); - } - return retval; - } - - private static Collection getResources(final String element, - final Pattern pattern) { - final ArrayList retval = new ArrayList(); - final File file = new File(element); - if (file.isDirectory()) { - retval.addAll(getResourcesFromDirectory(file, pattern)); - } else { - retval.addAll(getResourcesFromJarFile(file, pattern)); - } - return retval; - } - - private static Collection getResourcesFromJarFile(final File file, - final Pattern pattern) { - final ArrayList retval = new ArrayList(); - ZipFile zf; - try { - zf = new ZipFile(file); - } catch (final ZipException e) { - throw new Error(e); - } catch (final IOException e) { - throw new Error(e); - } - final Enumeration e = zf.entries(); - while (e.hasMoreElements()) { - final ZipEntry ze = (ZipEntry) e.nextElement(); - final String fileName = ze.getName(); - final boolean accept = pattern.matcher(fileName).matches(); - if (accept) { - retval.add(fileName); - } - } - try { - zf.close(); - } catch (final IOException e1) { - throw new Error(e1); - } - return retval; - } - - private static Collection getResourcesFromDirectory( - final File directory, final Pattern pattern) { - final ArrayList retval = new ArrayList(); - final File[] fileList = directory.listFiles(); - for (final File file : fileList) { - if (file.isDirectory()) { - retval.addAll(getResourcesFromDirectory(file, pattern)); - } else { - try { - final String fileName = file.getCanonicalPath(); - final boolean accept = pattern.matcher(fileName).matches(); - if (accept) { - retval.add(fileName); - } - } catch (final IOException e) { - throw new Error(e); - } - } - } - return retval; - } - - /** - * list the resources that match args[0] - * - * @param args - * args[0] is the pattern to match, or list all resources if - * there are no args - */ - public static void main(final String[] args) { - Pattern pattern; - if (args.length < 1) { - pattern = Pattern.compile(".*"); - } else { - pattern = Pattern.compile(args[0]); - } - final Collection list = ResourceList.getResources(pattern); - for (final String name : list) { - System.out.println(name); - } - } -}