java – Desktop.open()在某些JRE上静默失败
发布时间:2020-12-15 00:50:52 所属栏目:Java 来源:网络整理
导读:我正在尝试使用 Desktop 类在Windows上打开本地HTML文件.但它仅适用于某些特定的JRE,而不适用于其他一些JRE. 这是我的代码: try { if (Desktop.isDesktopSupported()) { Desktop desktop = Desktop.getDesktop(); if (desktop.isSupported(Desktop.Action.O
我正在尝试使用
Desktop 类在Windows上打开本地HTML文件.但它仅适用于某些特定的JRE,而不适用于其他一些JRE.
这是我的代码: try { if (Desktop.isDesktopSupported()) { Desktop desktop = Desktop.getDesktop(); if (desktop.isSupported(Desktop.Action.OPEN)) { desktop.open(new File("test.html")); } else { throw new Exception("OPEN action not supported"); } } else { throw new Exception("Desktop not supported"); } } catch (Exception e) { e.printStackTrace(); } 如果它不起作用,则不会抛出异常,并且STDERR中不会打印任何文本. 它适用于: > JRE 1.6.0_14(32位) 它不适用于: > JRE 1.6.0_26(64位) 所有测试都在同一个Win7 64位盒上进行. 编辑:尝试打开“txt”或“pdf”文件时出现同样的问题 谢谢. 解决方法
这个问题已经存在了一段时间,并且已经记录了一些解决方案
at this blog.
我已经使用了下面的代码,它在我使用的每台Windows机器上都是可靠的,无论JRE如何.对不起,我不知道我测试过的所有JRE. Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + path); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |