我已經使用Java創建了一個文本編輯器,並使用Netbeans將它打包在一個jar文件中。 現在我創建了一個文本文件,擴展名爲「.text」。 我在Windows 7上,所以使用它的屬性窗口,我將默認打開程序更改爲我的文本編輯器的jar文件。使用Java應用程序作爲特定文件類型的默認程序?
現在,當我用「.text」擴展名雙擊該文件時,窗口顯示一個對話框,指出「{文件名}不是有效的win32應用程序」。
請幫我解決它..
謝謝。
我已經使用Java創建了一個文本編輯器,並使用Netbeans將它打包在一個jar文件中。 現在我創建了一個文本文件,擴展名爲「.text」。 我在Windows 7上,所以使用它的屬性窗口,我將默認打開程序更改爲我的文本編輯器的jar文件。使用Java應用程序作爲特定文件類型的默認程序?
現在,當我用「.text」擴展名雙擊該文件時,窗口顯示一個對話框,指出「{文件名}不是有效的win32應用程序」。
請幫我解決它..
謝謝。
的問題是,一個JAR文件被選定爲 「默認應用程序」。但是,JAR文件通常是而不是可執行文件。 也就是說,JAR文件是而不是有效的Windows應用程序。 JAR擴展本身是否有與之相關的默認應用程序並不重要,因爲"Open verb"是而不是在其他「Open verb」定義中遞歸使用。
相反,
java
(或javaw
,酌情而定),並使用該可執行包裝器程序的‘打開方式’ 。 (這如果使用批處理文件將有一個惱人的中間控制檯窗口。)或者,java
(或javaw
)啓動JAR 。最後,任何一種形式應該看起來類似於:javaw -jar TheJarFile.jar "%1%"
。 (請注意,javaw
是可執行文件,而TheJarFile.jar
是而不是的可執行文件。)
請參閱java - the Java application launcher瞭解如何使用java/javaw。
可能是因爲.text不是可執行文件。
嘗試使用這個..
Runtime.getRuntime().exec("cmd.exe /C file");
這將打開你的文件的默認程序。
更新:我第一次感到困惑,可能是我沒有正確地讀你的問題。我以爲你直接從Java代碼執行的.text文件..
Runtime.getRuntime().exec("file.text");
//給出錯誤CreateProcess的錯誤= 193%1不是有效的Win32應用程序
所以我建議用CMD打開它(如回答)。
但是讀你的情況,它似乎Windows無法執行你自己的jar。
爲了使您的JAR可執行文件,試試這個..
java -jar yourjarfile.jar
....
其實,我是一個新手,所以你可以請告訴我在哪裏寫上述語法.. – Jaydeep 2012-03-09 11:24:54
嗯......我想什麼pst說有道理....先試試這個... java -jar yourjar。 jar ........這會讓你的jar可執行文件...然後嘗試.. – 2012-03-09 12:15:03
使用Java Web Start啓動Jar。啓動文件提供了設置文件/內容類型關聯的功能。這裏是一個demo. of the file services的..
..prompts用戶文件擴展名
.zzz
(一個簡單的文件類型不會與現有的文件關聯到衝突)內容類型text/sleepytime
的關聯。 ..
要做到這一點,在一個JWS應用程序運行時,尋找到1.6.0_18 +引入了IntegrationService
。
JWS設計用於Windows(和OS X & * nix)。
應該不是爲.txt – nist 2012-03-09 10:54:43
如果我讓txt文件,它用記事本打開,我不想擴展名爲.txt的默認設置混亂。所以我改變了我的文字編輯器的擴展與.text區段 – Jaydeep 2012-03-09 10:57:54
上述問題只是一個實驗,我試圖用我的文本編輯器的.text文件關聯,但我以前不工作,那麼我發佈了關於如何文件關聯問題擴展,以便它使用它的Stackoverflow上的jar文件在我的文本編輯器中打開相應的文件,(沒有得到滿意的答案),然後刪除了問題。 – Jaydeep 2012-03-09 11:01:16