请让我知道如何在Java中运行/调用。dmg应用程序。我使用了下面的语法Runtime.getruntime.exec("sample.dmg")
但是它抛出一个错误,错误码为13的"拒绝许可"。请告诉我如何调用dmg
DMG文件不能直接执行。你需要使用Mac OSX的open命令:
Runtime.getRuntime().exec(new String[] { "/usr/bin/open", "sample.dmg" });
你可能需要有完整的路径到dmg文件,但它似乎对我来说工作得很好。打开还可以让你指定打开的应用程序这样你就可以做一些很酷的事情,比如在邮件应用程序中将这个文档作为附件发送:
Runtime.getRuntime().exec(
new String[] { "/usr/bin/open", "-a", "Mail", "letter.pdf" });
我一直使用这样的Mac打开命令
您应该使用Desktop.open(File file)
,它将为操作系统使用适当的打开器。在Mac上,它将使用open
。这比Runtime.exec
要好,因为您不需要依赖open
命令的确切位置。此外,如果Windows上有DMG挂载应用程序,比如Mediafour的MacDrive,这甚至可以工作。
底线是使用Desktop.open(File file)
用操作系统的默认打开器打开文件,这就是它的作用。大多数人只有在万不得已的时候才会使用Runtime.exec
。