protected static void create(List list, File dir, Filter filter) throws Exception { create(list, dir, filter, dir.getCanonicalPath()); } protected static void create(List list, File dir, Filter filter, String prefix) throws Exception
public StreamIterator create(URL url, Filter filter) throws IOException { File f = new File(url.getPath()); if (f.isDirectory()) { return new FileIterator(f, filter); } else { return new JarIterator(url.openStream(), filter); } } }
public StreamIterator create(URL url, Filter filter) throws IOException { // See http://weblogs.java.net/blog/2007/04/25/how-convert-javaneturl-javaiofile File f; try { f = new File(url.toURI()); } catch (URISyntaxException e) { f = new File(url.getPath()); } if (f.isDirectory()) { return new FileIterator(f, filter); } else { return new JarIterator(url.openStream(), filter); } } }
public FileIterator(File file, Filter filter) { files = new ArrayList(); try { create(files, file, filter); } catch (Exception e) { throw new RuntimeException(e); } }
public FileIterator(File file, Filter filter) { files = new ArrayList(); try { create(files, file, filter); } catch (Exception e) { throw new RuntimeException(e); } } protected static void create(List list, File dir, Filter filter) throws Exception
protected static void create(List list, File dir, Filter filter) throws Exception { File[] files = dir.listFiles(); for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { create(list, files[i], filter); } else { if (filter == null || filter.accepts(files[i].getAbsolutePath())) { list.add(files[i]); } } } }
protected static void create(List list, File dir, Filter filter, String prefix) throws Exception { File[] files = dir.listFiles(); for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { create(list, files[i], filter, prefix); } else { String path = files[i].getCanonicalPath(); String relativePath = path.substring(prefix.length() + 1); if (File.separatorChar == '\\') relativePath = relativePath.replace('\\', '/'); if (filter == null || filter.accepts(relativePath)) { list.add(files[i]); } } } }