2012-09-17 81 views
1

我有3個罐子:jar1,jar2和jar3,在同一路徑誰可以在其他PC改變(例如:C:\ PROVA)通過永久參數JAR文件

當我運行jar1,它的動作jar Sturtup文件夾中的jar2。

我希望那個jar2只需在每次啓動Windows時激活jar3,但當然它並不會在第一個路徑中找到jar3。

所以我想讓jar1在移動它時或至少在第一次調用它時向jar2傳遞一個引用(在本例中爲路徑c:\ prova)。

我發現它difficoult,因爲: 我無法在jar2中的文本文件中寫入路徑:jar中的文本文件是不可寫的。

我不能寫在Windows啓動文件夾中的文本文件:它會在每次啓動時勝開..

我無法通過的路徑作爲參數,這將是很好的第一但我無法將這個值存儲到接連的調用中。

對不起,我的英語不好,謝謝你的幫助!

+0

jar1可以解壓縮jar2,添加一個txt文件的路徑和啓動文件夾中的重新jar jar2。這是唯一的方法嗎? – T30

+0

爲什麼不能在windows啓動文件夾中創建一個指向jar3並完全擺脫jar2的Windows快捷方式'.lnk'文件?或者,也可以在Windows啓動註冊表中添加一個指向jar3的密鑰? –

+0

你是同意的,但在我的情況下,jar2不在Windows啓動時執行jar3,事實上他檢查時間並在每個午夜執行jar3。 我不想把時間控制在jar3因爲我想有時手動運行它.. – T30

回答

1

要jar2添加文件Path.txt(與jar3的路徑):

Runtime.getRuntime().exec("jar uf jar2.jar Path.txt"); 

要閱讀jar2文件(啓動是我的類名):

 String s = "/Path.txt"; 
     is = Startup.class.getResourceAsStream(s); 
     br = new BufferedReader(new InputStreamReader(is)); 
     while (null != (line = br.readLine())) { 
      list.add(line); 
     } 

謝謝我!