我想在单击jButton时打开HTML文档。这是按钮的代码

try {
        Desktop dk = Desktop.getDesktop();
        URI url = new URI("src/info/index.html");
        dk.browse(url.resolve(url));
    } catch (URISyntaxException | IOException ex) {
        System.out.println("Error en btnAyudaActionPerformed:\n" + ex.getMessage());
        JOptionPane.showMessageDialog(this, "No se puede abrir la ayuda");
    }


但是它抛出

Failed to open src/info/src/info/index.html. Error message: The system cannot find the specified file.


当我放置绝对路径时,它可以正常工作,但是由于需要移动jar,所以无法放置绝对路径。

最佳答案

URI需要一个绝对路径,所以我得到了文件的绝对路径:

File htmlAyuda = new File("info/index.html");
    String direccion = htmlAyuda.getAbsolutePath();
    try {
        Desktop dk = Desktop.getDesktop();
        URI url = new URI(direccion.replace("\\", "/"));
        dk.browse(url.resolve(url));
    } catch (URISyntaxException | IOException ex) {
        System.out.println("Error en btnAyudaActionPerformed:\n" + ex.getMessage());
        JOptionPane.showMessageDialog(this, "No se puede abrir la ayuda");
    }


URI不能包含反斜杠,因此我必须将其替换为普通斜杠

关于java - 通过Java函数在浏览器中打开HTML文档,仅知道其相对路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62013036/

10-13 06:07