我有一个程序(GUI = JavaFX),它扫描我的文件系统以查找特定的 XML 报告文件并将它们列出在一个表中。这些 XML 报告由 XSLT 在 Web 浏览器中呈现。现在我希望能够在我的 Java 应用程序中单击这样的报告并将其显示在浏览器中。我已经编写了处理程序并确定了正确的 URL。在我的 Windows 系统上,这是
file://localhost/C:/report.xml
XML 不是问题。如果我在浏览器中手动打开它,一切正常。但是,如果我使用 Google 并询问如何在浏览器中打开文件,它总是会给我这个:
java.awt.Desktop.getDesktop().
browse(new java.net.URI("file://localhost/C:/report.xml"));
由于这是一个很好的 http URL(网站)解决方案,它总是在我的默认文本编辑器(例如 Notepad++)中打开我的 XML 文件。所以桌面的浏览方法并没有真正强制浏览,而只是退回到默认的打开操作。
所以问题是:如何强制 Java 在浏览器中打开 XML,类似于 Windows 函数“使用 > 打开”?
这里是一个 sscce(它应该尝试在浏览器中访问该文件,即使它不存在):
public class XMLOpener {
public static void main(String[] args)
{
String fileURL = "file://localhost/C:/report.xml";
try {
java.awt.Desktop.getDesktop().browse(new java.net.URI(fileURL));
} catch (Exception e) {}
}
}