在 Java 中,我尝试使用 Desktop.getDesktop().open(File file) 打开文件,但它抛出 IOException 尽管 Desktop.getDesktop().isSupported(Desktop.Action.OPEN) 表示支持该操作。我正在使用 Gnome 版本:版本:3.22.3-3。
代码片段:
Desktop desktop = Desktop.getDesktop();
if (desktop.isSupported(Desktop.Action.OPEN))
desktop.open(file);
有谁知道为什么
desktop.isSupported(Desktop.Action.OPEN)
返回真?我知道我可以使用“xdg-open”来打开文件,但我想了解这里发生了什么。
提前致谢!
更新:堆栈跟踪:
Caused by: java.io.IOException: Failed to show URI:file:/home/TEST_FILES/blabla.xls
at sun.awt.X11.XDesktopPeer.launch(XDesktopPeer.java:121)
at sun.awt.X11.XDesktopPeer.open(XDesktopPeer.java:84)
at java.awt.Desktop.open(Desktop.java:272)
... 55 more
更新 #2: xdg-open 工作正常,打开 LibreOffice Calc 中堆栈跟踪中提到的文件。
潇湘沐
HUX布斯
相关分类