X-Git-Url: https://juplo.de/gitweb/?p=scannotation;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fscannotation%2Farchiveiterator%2FFileProtocolIteratorFactory.java;h=5a5979b2cb1b089406776ff132712cf7116dd14a;hp=a8c0a40160c5f2952af7d21bd61f4271c3019361;hb=a63b5346cc43457b0efccb238f15367f36244291;hpb=f42e6e6e1662efe9a2fb23a325854c8327829c17 diff --git a/src/main/java/org/scannotation/archiveiterator/FileProtocolIteratorFactory.java b/src/main/java/org/scannotation/archiveiterator/FileProtocolIteratorFactory.java index a8c0a40..5a5979b 100644 --- a/src/main/java/org/scannotation/archiveiterator/FileProtocolIteratorFactory.java +++ b/src/main/java/org/scannotation/archiveiterator/FileProtocolIteratorFactory.java @@ -2,6 +2,7 @@ package org.scannotation.archiveiterator; import java.io.File; import java.io.IOException; +import java.net.URISyntaxException; import java.net.URL; /** @@ -13,8 +14,18 @@ public class FileProtocolIteratorFactory implements DirectoryIteratorFactory public StreamIterator create(URL url, Filter filter) throws IOException { - File f = new File(url.getPath()); - if (f.isDirectory()) + // 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); }