无法使用JxBrowser加载html文件(从本地文件系统)

时间:2017-06-20 21:27:17

标签: javafx jxbrowser

使用JavaFX和Eclipse IDE,我使用了Teamdev中的示例应用程序来加载示例文件(来自我的文件系统的notifications.html),但我一直收到页面未找到/ DNS错误。

有问题的文件,notifications.html,就在与调用它的源文件相同的包中,如下面的代码段所示:

    Scene scene = new Scene(new BorderPane(view), 700, 500);
    primaryStage.setScene(scene);
    primaryStage.show();
    browser.loadURL("notifications.html");

我认为我的问题是构成完全合格的路径,因为我使用的是Mac,所以我不清楚如何做到这一点。我试过了:

browser.loadURL("Users/myusername/Documents/workspace/jxBrowser/src/application/notifications.html");

然而它没有用。

1 个答案:

答案 0 :(得分:0)

您需要使用loadHtml()代替loadUrl()假设loadHtml进入网络并尝试从您的电脑上的文件下载网址。将文件系统中的html读取到String并将其传递给loadHtml()方法。

     InputStream urlStream = getClass().getResourceAsStream("/notifications.html");
     String html = null;
     try (BufferedReader urlReader = new BufferedReader(new InputStreamReader (urlStream))) {
         StringBuilder builder = new StringBuilder();
         String row;
         while ((row = urlReader.readLine()) != null) {
             builder.append(row);
         }
         html = builder.toString(); 
     }  catch (IOException e) {
         throw new RuntimeException(e);
     }

     browser.loadHTML(html);

对于此代码,您的html文件必须位于项目的resources文件夹中