我创建与JEditorPane一个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] 删除。
我来说两句