gpt4 book ai didi

java - 为什么 Desktop.Open() 不适用于正在安装的 MagicISO

转载 作者:搜寻专家 更新时间:2023-11-01 00:57:43 27 4
gpt4 key购买 nike

这是我的代码

if (Desktop.isDesktopSupported()) {
Desktop desktop = Desktop.getDesktop();

if (desktop.isSupported(Desktop.Action.OPEN)) {
try {
desktop.open(file.getCanonicalFile());
} catch (Exception ex) {
ex.printStackTrace();
}
} else {
System.out.println("Desktop open action is not supported");
}
} else {
System.out.println("Desktop is not supported");
}

我知道安装 MagicISO(从 this Java bug 获得)会使这段代码不起作用。但为什么? MagicISO 的具体作用是什么?我可以阻止它发生或解决它吗?

更糟糕的是,这段代码没有抛出任何异常。它只是在那里保持沉默。这真的让我发疯。

最佳答案

引用 Launch file from Java 的第二个答案:

您可以通过 Runtime 类启动应用程序:

在 Mac 上,

Runtime.getRuntime().exec(new String[] {"open", pathToFile});

在 Windows 上,

Runtime.getRuntime().exec(new String[] {"cmd.exe", "/C", pathToFile});

关于java - 为什么 Desktop.Open() 不适用于正在安装的 MagicISO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11774247/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com