The JarURLConnection javadoc describes the syntax of the JAR URL:
JAR URL Syntax: jar:! / {Entry}
So '!' indicates that you are 'enter' the java archive.
Edit: I believe that you cannot do File file=new File(url.toURI()) because of a ":" that appears twice in the generated URI and does not meet the URI specifications (chapters 2.2 and 3), so this is rejected in the ctor file.
source share