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

安托:

我创建与JEdi​​torPane一个Swing应用程序,应显示一个名为HTML文件url1.html存储在本地网页文件夹中的项目的根文件夹。

我已经实例化了以下String对象

final String pagePath = "./page/";

为了由JEditorPane窗格显示,我创建了以下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文件中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

查找和复制具有相对路径的文件

Ansible - 具有相对路径的入口点

如何包含具有相对路径的任务?

使用具有相对路径的别名源

包括具有相对路径的奇怪行为

具有相对路径的 AWS Lambda 访问文件

使用没有相对路径的 CMake 创建 Zip

php在没有相对路径的绝对url中转换包含相对路径的绝对URL

创建位图时的相对路径

找到具有相对路径但不是绝对路径的文件?(VBS)

从URL获取相对路径

用相对路径打开URL

CMake:从ExternalProject链接共享的C ++对象会生成具有相对路径的二进制文件,而不是绝对路径

保存具有相对于当前站点的相对路径的书签

Angular RouterLink相对路径在具有空路径的组件中不起作用

JSONLoader对象链接-URL工作正常,相对路径不正确

在Java 7中,列出具有“相对路径”的文件

如何在C ++中打开具有相对路径的文件?

爪哇:递归模式搜索文件(具有相对路径)穿过作为变量

角构建无法找到具有相对路径的模块(在Azure开发运营上)

如何从另一个目录导入具有相对路径的 Python 模块?

XSL Transformer不会选择具有相对路径的标签值

git:具有NUL终止名称和相对路径的简短状态

具有来自另一个目录的相对路径的运行脚本

具有相对路径的本地文件未在NodeJS Express应用程序中加载

Gatsby从数据获取具有相对路径的图像文件夹

Sitecore 7-具有搜索相对路径的多列表

在Windows中复制具有完整相对路径的文件

从具有不同调用者的相对路径读取文件