4 import java.io.IOException;
5 import java.util.ArrayList;
6 import java.util.Collection;
7 import java.util.Enumeration;
8 import java.util.regex.Pattern;
9 import java.util.zip.ZipEntry;
10 import java.util.zip.ZipException;
11 import java.util.zip.ZipFile;
13 import okw.log.Logger_Sngltn;
34 public static Collection<String>
getResources(
final Pattern pattern)
36 final ArrayList<String> retval =
new ArrayList<String>();
38 final String classPath = System.getProperty(
"java.class.path",
".");
40 final String[] classPathElements = classPath.split(System.getProperty(
"path.separator"));
44 for (
final String element : classPathElements)
55 private static Collection<String>
getResources(
final String element,
final Pattern pattern)
57 final ArrayList<String> retval =
new ArrayList<String>();
58 final File file =
new File(element);
60 if (file.isDirectory())
62 retval.addAll(getResourcesFromDirectory(file, pattern));
66 retval.addAll(getResourcesFromJarFile(file, pattern));
71 private static Collection<String> getResourcesFromJarFile(
final File file,
final Pattern pattern) {
72 final ArrayList<String> retval =
new ArrayList<String>();
75 zf =
new ZipFile(file);
76 }
catch (
final ZipException e) {
78 }
catch (
final IOException e) {
82 final Enumeration<?> e = zf.entries();
83 while (e.hasMoreElements()) {
84 final ZipEntry ze = (ZipEntry) e.nextElement();
85 final String fileName = ze.getName();
86 final boolean accept = pattern.matcher(fileName).matches();
93 }
catch (
final IOException e1) {
99 private static Collection<String> getResourcesFromDirectory(
final File directory,
final Pattern pattern) {
100 final ArrayList<String> retval =
new ArrayList<String>();
101 final File[] fileList = directory.listFiles();
102 for (
final File file : fileList) {
103 if (file.isDirectory()) {
104 retval.addAll(getResourcesFromDirectory(file, pattern));
107 final String fileName = file.getCanonicalPath();
108 final boolean accept = pattern.matcher(fileName).matches();
110 retval.add(fileName);
112 }
catch (
final IOException e) {
127 public static void main(
final String[] args) {
129 if (args.length < 1) {
130 pattern = Pattern.compile(
".*");
132 pattern = Pattern.compile(args[0]);
135 for (
final String name : list) {
136 System.out.println(name);