2017-07-26 71 views
0

我有我使用打開一個文件中的一些java代碼:的Java打開文件 - 從Eclipse的工作,不運行的JAR/EXE工作

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + output.getAbsolutePath()); 

當我執行它,它工作得很好但是,從Eclipse導出項目到可運行JAR時,該功能停止工作。我已經嘗試了各種不同的選項來打開文件(Desktop.open,ProcessBuilder等),所有結果都一樣(Eclipse OK,可運行的JAR不)。

這確切的代碼之前工作時,我在過去的(1.5年前)出口了。我相信這是在Java 1.6中,現在我們在Java 1.7上。不知道是否這是原因,但我沒有選擇使用以前版本的Java進行編譯。有任何想法嗎?

+0

你可以發佈你,如果有可能的異常? –

+0

你在同一臺機器上運行它嗎? –

+0

我會完全避免使用DLL:Java正在運行在任何地方,這樣你就一定能MS Windows和甚至可能是版本的,要真正看到它的工作。 –

回答

0

感謝試圖幫助。我想通了,這是很簡單,我是個白癡:)打開文件不是,文件沒有被寫在首位的問題,它沒有被寫的原因是很簡單的答案因爲代碼被設置爲將其寫入尚未創建的嵌套文件夾結構中。我甚至沒有想到這一點,因爲我認爲輸出字符串中指定的任何必需文件夾都會自動創建。衛生署!