2014-04-08 49 views
1

我想知道是否有一種方法可以將.dic和.aff文件添加到java項目的jar文件中(例如使用eclipse)?如何將.dic和.aff文件添加到java jar?

我有我的代碼字典:

URL dicDic = CipherTextAttack.class.getResource("en_US"); 
    static Hunspell.Dictionary dict = Hunspell.getInstance().getDictionary(dicDic.toString()); 

我需要的jar文件,而無需將EN_US字典文件到處運行.. 這可能嗎?

回答

2

是的,jar文件基本上是一個帶有.jar擴展名的zip文件,因此您可以將任何文件放入存檔中。只要它在類路徑中,您就可以從代碼中訪問該文件。一個簡單的方法來做到這一點(但對於大型代碼庫並不那麼幹淨),就是將文件放在與你的類文件相同的目錄結構中。

要訪問該文件,您可以使用Class.getResource(),如您所示,給出一個相對於所用類的路徑,它將使用所用類的類加載器進行搜索。 所以在你的用例中,最簡單的可能是將文件放在與使用字典的類相同的目錄中。例如,您的代碼位於MyClass中,您可以編寫:

URL dicDic = MyClass.class.getResource("file.dic"); 

C.f. javadoc of the method

然後在jar中添加文件,這將取決於您的工作流程以及如何構建您的項目(使用Eclipse,ant,maven等)。例如,如果使用ant編譯和打包項目,則必須在構建文件的某個位置創建一個創建該jar文件的jar任務。然後,您應該修改該任務以將dic文件包含在jar文件中。如有疑問,如果您找不到現有的答案,我建議您打開一個關於您的特定工具的單獨問題。

在任何情況下,爲了測試的目的,您可以簡單地打開使用Winzip或7-zip或您使用的任何zip文件管理器的jar文件,並將該dic文件添加到存檔中。

+0

非常感謝。現在我的問題是我如何閱讀它? – Javi

+0

我在回答中增加了一些解釋,我希望我明白你的意思。 – Djizeus

+0

是的!有效!謝謝! – Javi