我试图使用以下代码从程序内打开一个URI。我可以很容易地向用户显示URL并鼓励他们将其粘贴到浏览器中,但我希望操作更省力。
Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null;
URI uri = null;
try {
uri = new URI(ProgramName.currentProject.saveFilePath + "/file.html");
} catch (URISyntaxException ex) {
ex.printStackTrace();
}
if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) {
try {
desktop.browse(uri);
} catch (IOException ioe) {
ioe.printStackTrace();
}
} else {
//attempt workaround
}
我不知道为什么它不工作。我得到以下异常:
java.io.IOException: Failed to mail or browse /Users/myname/ProgramName/SaveFiles/Guillotine/file.html. Error code: -10814
但我不知道为什么,也不知道如何修复。
没关系,找到答案了。
我认为我可以用文件路径创建一个URI,但没有意识到我必须将file:///
添加到路径的前面才能工作。
留下这个是希望别人犯同样明显的错误。