JDK-6243843 : Use of File.toURL in plugin - toURL known to return invalid URLs
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic
  • CPU: generic
  • Submitted: 2005-03-21
  • Updated: 2012-01-11
  • Resolved: 2005-04-05
Related Reports
Relates :  
Relates :  
Description
The following classes use File.toURL:

  sun/plugin/security/PluginClassLoader.java
  sun/plugin/AppletViewer.java

Be advised that as of JDK1.4, java.io.File.toURL is effectively deprecated. It is known to not handle special characters correctly, e.g. "/tmp/a#b" becomes "file:/tmp/a#b" which is incorrect (the '#' should have been escaped); some filenames can produce illegal URLs.  Bug 6179468 requests that the method be officially deprecated for Mustang.

In past releases, we've tried to "fix" File.toURL (see 4273532) and have reverted to the present behaviour because of insurmountable compatibility issues.  That bug was finally closed "will not fix" after several attemtps to fix it.  We do not expect to change the present behaviour of File.toURL.  

Please review the use of this method in your code.  Regardless of whether File.toURL is deprecated, it is possible that there may be a latent bug your class.  If you always expect this call to return a valid URL, then the recommended practice is to use File.toURI().toURL().  

If you have any questions, please feel free to contact me.

Thanks,

###@###.### 2005-03-21 21:30:37 GMT

Comments
EVALUATION These classes do not rely on special characters in the URL: sun/plugin/security/PluginClassLoader.java sun/plugin/AppletViewer.java Will close as will not fix. ###@###.### 2005-04-05 21:56:30 GMT
21-03-2005