为什么该函数java.io.File.toURL()已弃用?我需要传递一个Toolkit.createImage()接受URL对象的URL.Javadoc建议我使用File.toURI().toURL().然而:
C:\Documents and settings\Administrator\...
变为:
C:\Documents%20and%20settings\Administrator\...
这显然是一个无效的文件位置.我发现File.toURL()创建了URL而没有转义,但它已被弃用.虽然它有效但我害怕使用已弃用的函数.什么是不被弃用的方法做同样的事情?
编辑:现在我的代码看起来像:
spriteImage1 = tkit.createImage(new File("./images/sprite1.png").getCanonicalFile().toURL());
Run Code Online (Sandbox Code Playgroud)
编辑:我需要从.jar文件外的文件夹创建一个图像.我需要一个相对位置("./ images/sprite1.png").当我尝试为它提供相对路径时,方法createImage(String)会抛出异常.
小智 5
我认为这个问题的正确答案是这个链接中公开的答案http://www.jguru.com/faq/view.jsp?EID=1280051
如上面的链接所示,正确的方法是:
// Supposing f is the referenced file in code and we want to
// get an URL instance without deprecation warnings.
URL externalForm = f.toURI().toURL();
Run Code Online (Sandbox Code Playgroud)
MalformedURLException 没有捕获,因为问题是关于方法 file.toURL() 的弃用。
希望这会有所帮助。