projects
/
scannotation
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Apply patch for bugs 2030388 and 3134533: FileProtocolIteratorFactory creates File...
[scannotation]
/
src
/
main
/
java
/
org
/
scannotation
/
archiveiterator
/
FileProtocolIteratorFactory.java
diff --git
a/src/main/java/org/scannotation/archiveiterator/FileProtocolIteratorFactory.java
b/src/main/java/org/scannotation/archiveiterator/FileProtocolIteratorFactory.java
index
a8c0a40
..
5a5979b
100644
(file)
--- 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.io.File;
import java.io.IOException;
+import java.net.URISyntaxException;
import java.net.URL;
/**
import java.net.URL;
/**
@@
-13,8
+14,18
@@
public class FileProtocolIteratorFactory implements DirectoryIteratorFactory
public StreamIterator create(URL url, Filter filter) throws IOException
{
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);
}
{
return new FileIterator(f, filter);
}