gpt4 book ai didi

java - 创建具有相对路径的 URL 对象

转载 作者:搜寻专家 更新时间:2023-11-01 01:11:36 24 4
gpt4 key购买 nike

我正在创建一个带有 JEditorPane 的 Swing 应用程序,它应该显示一个名为 url1.html 的 HTML 文件,该文件本地存储在 page 文件夹中项目的根文件夹。

我已经实例化了以下字符串对象

final String pagePath = "./page/";

为了在 JEditorPane Pane 中显示,我创建了以下 URL 对象:

URL url1 = new URL("file:///"+pagePath+"url1.html");

但是当使用创建的 URL 对象作为参数调用 setPage() 方法时:

pagePane.setPage(url1);

它抛出一个 java.io.FileNotFoundException 错误。

url1 的构建方式似乎有问题。有人知道这个问题的解决方案吗?

最佳答案

解决办法是找到url1.html的绝对路径,在上面做一个java.io.File的对象,然后用toURI() .toURL() 组合:

URL url1 = (new java.io.File(absolutePathToHTMLFile)).toURI().toURL();

假设当前目录是page的根目录,你可以传递一个相对路径给File:

URL url1 = (new java.io.File("page/url1.html")).toURI().toURL();

URL url1 = (new java.io.File(new java.io.File("page"), "url1.html")).toURI().toURL();

但这取决于您从何处运行应用程序。如果根目录是应用程序的唯一可配置选项,或者如果它有一个配置文件,我会让它把根目录作为命令行参数。

另一种解决方案是将 html 文件作为资源放入应用程序的 jar 文件中。

关于java - 创建具有相对路径的 URL 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4247736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com