2012-07-05 64 views
0

我從一個Java項目創建了一個jar文件。我現在甚至可以運行它,但是它不會保存在我從JAR文件外部的正常二進制代碼運行程序時正確存儲的序列化文件。爲什麼我的JAR文件不能創建序列化?

當你有一個jar文件時,你不能創建新文件嗎?

這是我寫的文件:

FileOutputStream fileOut = new FileOutputStream("data/vocabulary.ser"); 
ObjectOutputStream out = new ObjectOutputStream(fileOut); 
out.writeObject(this); 
out.close(); 
fileOut.close(); 

我的JAR文件看起來像這樣:

META-INF 
    MANIFEST.MF 
name 
    stefankoch 
     … 

其中名稱/ stefankoch/...是我的項目的命名空間。

我試着在jar文件(root)中創建一個data目錄,但它也沒有工作。在jar文件所在的目錄中還有一個data目錄,但那個目錄也不被使用。

如何讓jar文件創建文件?

回答

0

基本上,您不應該將用戶輸入的信息添加到JAR文件中,它們屬於用戶的主目錄

這可以用

System.getProperty("user.home") 

而且用戶主目錄中的文件,也可以從一個JAR文件中使用的讀取。

相關問題