How do I go from jar:file:/C:/Program%20Files/test.jar!/foo/bar to a File that points to C:/Program Files/test.jar?
            Asked
            
        
        
            Active
            
        
            Viewed 1.6k times
        
    2 Answers
13
            The following code works for me (based on How do I get just the jar URL from a jar: URL containing a "!" and a specific file in the jar?):
URL url = new URL("jar:file:/C:/Program%20Files/test.jar!/foo/bar");
JarURLConnection connection = (JarURLConnection) url.openConnection();
File file = new File(connection.getJarFileURL().toURI())
6
            
            
        You can do this.This works
ClassLoader loader = this.getClass().getClassLoader();
URL url = loader.getResource("resource name");
String[] filePath = null;
String protocol = url.getProtocol();
if(protocol.equals("jar")){
    url = new URL(url.getPath());
    protocol = url.getProtocol();
}
if(protocol.equals("file")){
    String[] pathArray = url.getPath().split("!");
    filePath = pathArray[0].split("/",2);
}
File required = new File(FilePath[1]);
        TrebledJ
        
- 8,713
 - 7
 - 26
 - 48
 
        Hari Chandu Vakacharla
        
- 99
 - 1
 - 2