|
Duplicate :
|
|
|
Duplicate :
|
|
|
Duplicate :
|
|
|
Duplicate :
|
|
|
Duplicate :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
The File class toURL() method does not escape "excluded" URL
characters when mapping a file path to a file: URL. For example, space
characters or '#' characters etc. should be escaped with a '%' followed by the
hexidecimal encoding of the character.
See RFC 2396 section 2.4.3.
Name: rlT66838 Date: 02/15/2000
java version "1.2.2"
HotSpot VM (1.0.1, mixed mode, build g)
1. Make directory, which name containts "!" sign and go to it.
2. Create java file like:
import java.net.*;
import java.io.*;
public class q
{
public q()
{
try {
URL u = getClass().getResource("myresources");
System.out.println("" + u);
InputStream in = u.openStream();
System.out.println("" + in);
InputStreamReader inr = new InputStreamReader(in);
} catch (Throwable t)
{
t.printStackTrace();
}
}
public static void main(String args[])
{
q qq = new q();
}
}
3. Create file named "myresources"
4. Place q.class and myresources to JAR file, by example "test.jar"
5. Run java -classpath test.jar q
6. Look at console:
jar:file:/M:/test/!/test.jar!/myresources
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:69)
at java.util.jar.JarFile.<init>(JarFile.java:71)
at java.util.jar.JarFile.<init>(JarFile.java:58)
at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:76)
at sun.net.www.protocol.jar.JarURLConnection.connect
(JarURLConnection.java:92)
at sun.net.www.protocol.jar.JarURLConnection.getInputStream
(JarURLConnection.java:
112)
at java.net.URL.openStream(URL.java:818)
at q.<init>(q.java:10)
at q.main(q.java:21)
7. Place all files in, by example, "test" directory.
Run again. All is OK.
Problem occurs because "!" is Jar resource delimiter sign, and I think
that either "!" must not be resource delimiter sign, or
JarURLConnection::getResource() needed to be changed.
(Review ID: 101275)
======================================================================
###@###.### 10/15/04 18:46 GMT
|