【发布时间】:2012-08-30 11:20:44
【问题描述】:
快速提问:
对于某些初始化,我需要将带有 url 的 java URL 类传递给特定文件。但是我在我的应用程序的资源中拥有这个文件。所以我问是否可以使用相对地址创建 java URL 类?我从来没有见过这样的东西,所以我想知道。
【问题讨论】:
标签: java url relative-path
快速提问:
对于某些初始化,我需要将带有 url 的 java URL 类传递给特定文件。但是我在我的应用程序的资源中拥有这个文件。所以我问是否可以使用相对地址创建 java URL 类?我从来没有见过这样的东西,所以我想知道。
【问题讨论】:
标签: java url relative-path
尝试先创建一个File 对象(您可以在其中提供资源的相对路径),然后将其转换为 URL:
File file = new File("resources/myresource.abc");
URL url = file.toUrl();
【讨论】:
您可以获得一个相对于您的 java 类文件所在位置的 URL,并在同一位置引用文件。这是使用类的getResource() 方法完成的。将资源放在一个名为“resources”的文件夹中,与您的 .class 文件位于同一位置。然后你可以得到一个相对于类位置的 url,如下所示:
URL url = <InsertYourClassName>.class.getResource("resources/<InsertNameOfResource>");
这将获得一个相对于您所在班级的 url 路径,并在资源文件夹中查找您的资源。只需将资源放在与您的类相同的目录中,而不是像这样的资源文件夹中,也可以实现相同的目的:
URL url = <InsertYourClassName>.class.getResource("<InsertNameOfResource>");
希望这会有所帮助:)
【讨论】: