File.toURL() 已弃用?

2022-09-02 11:10:33

为什么该函数被弃用?我需要传递一个接受URL对象的URL。Javadoc 建议我使用 .然而:java.io.File.toURL()Toolkit.createImage()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());

编辑:我需要从.jar文件外的文件夹中创建图像。我需要一个相对位置(“./images/sprite1.png”)。方法 createImage(String) 在我尝试为其提供相对路径时会引发异常。


答案 1

用:

URL url2 = file.toURI().toURL();

答案 2

根据此错误,它不能正确处理特殊字符。