在Java 5中,是否有默認的方式將URL傳遞給系統,並讓它啓動與其關聯的應用程序? 例如,http://鏈接通常會打開IE或Firefox,但itms://應該會打開iTunes。Java:如何爲URL啓動系統的註冊應用程序
如果可能,我寧願不使用Runtime.exec()直接啓動一些外部進程,因爲這將是平臺特定的。如果沒有其他辦法,我會要求Windows/OS X和Linux支持哪些最流行的?
在Java 5中,是否有默認的方式將URL傳遞給系統,並讓它啓動與其關聯的應用程序? 例如,http://鏈接通常會打開IE或Firefox,但itms://應該會打開iTunes。Java:如何爲URL啓動系統的註冊應用程序
如果可能,我寧願不使用Runtime.exec()直接啓動一些外部進程,因爲這將是平臺特定的。如果沒有其他辦法,我會要求Windows/OS X和Linux支持哪些最流行的?
我與伊萬是Java桌面API將工作達成一致,但它只有6。
我知道如何做到這一點在Windows(涉及執行rundll32.dll),但我做了一些谷歌搜索快速和this link好像你最好的拍攝。
希望有所幫助。
Desktop desktop = Desktop.getDesktop();
if (desktop.isSupported(Desktop.Action.BROWSE)) {
desktop.browse(uri);
}
我不認爲這是直到Java 6. – erickson 2009-06-18 23:54:42
的Windows,它的 「啓動[URI]」,OSX它的 「打開[URI]」,Linux沒有等同,因爲它完全取決於自己的窗口管理器。
至於是否itms://打開iTunes,這一切都取決於它們的配置。
伊萬的答案似乎比我的好得多。
看起來像你想java.awt.Desktop但我認爲這是在1.6推出,並在5不可用...... :-(
對於Java 5 ,試試JDIC.它具有跨平臺的支持opening the OS's registered application for a file.如果我沒有記錯的話,這就形成了在Java 6中添加類似API的基礎。
BrowserLauncher做你所需要的。
另見:http://stackoverflow.com/questions/526037/java-how-to-open-user-system-preffered-editor-for-given-file – erickson 2009-06-18 23:58:32