42 |
import java.net.*; |
import java.net.*; |
43 |
import java.util.Hashtable; |
import java.util.Hashtable; |
44 |
import java.util.jar.*; |
import java.util.jar.*; |
45 |
|
import java.util.zip.ZipFile; |
46 |
|
|
47 |
/** |
/** |
48 |
* This subclass of java.net.JarURLConnection models a URLConnection via |
* This subclass of java.net.JarURLConnection models a URLConnection via |
69 |
try{ |
try{ |
70 |
is_trying = true; |
is_trying = true; |
71 |
if("file".equals(url.getProtocol())){ |
if("file".equals(url.getProtocol())){ |
72 |
jf = new JarFile(url.getFile()); |
File f = new File(url.getFile()); |
73 |
|
jf = new JarFile(f, true, ZipFile.OPEN_READ); |
74 |
}else{ |
}else{ |
75 |
URLConnection urlconn = url.openConnection(); |
URLConnection urlconn = url.openConnection(); |
76 |
InputStream is = urlconn.getInputStream(); |
InputStream is = urlconn.getInputStream(); |
82 |
fos.write(buf); |
fos.write(buf); |
83 |
} |
} |
84 |
fos.close(); |
fos.close(); |
85 |
jf = new JarFile(f); |
// Always verify the Manifest, open read only and delete when done. |
86 |
|
jf = new JarFile(f, true, ZipFile.OPEN_READ | ZipFile.OPEN_DELETE); |
87 |
} |
} |
88 |
cache.put(url, jf); |
cache.put(url, jf); |
89 |
}finally{ |
}finally{ |