我需要從Java桌面應用程序生成複雜的文本文件。將資源文件複製到文件夾?
如果我可以複製模板文件並將其定製爲任何需要構建的代碼,我已經決定代碼將相當容易實現。
我只會將一個罐子分配給客戶。如何處理這個問題是否有最佳做法?
- 它甚至有可能在運行時從jar複製資源?
- 在第一次執行jar時「自動生成」模板會更好嗎?
我需要從Java桌面應用程序生成複雜的文本文件。將資源文件複製到文件夾?
如果我可以複製模板文件並將其定製爲任何需要構建的代碼,我已經決定代碼將相當容易實現。
我只會將一個罐子分配給客戶。如何處理這個問題是否有最佳做法?
是的,您可以從JAR讀取資源並將其寫入您的文件系統。正如kgiannakakis所建議的那樣,您需要將資源視爲流。
但是,使用哪個類加載器是模糊的。我經常看到建議,在Web應用程序,你應該使用的上下文ClassLoader:
Thread.currentThread().getContextClassLoader().getResourceAsStream()
但隨後上快速搜索,以確認這仍然是正確的建議,很多人建議當前的類加載器代替上下文類加載器,雖然大多數人承認沒有答案,將在任何情況下完美工作。 Whee!
在這一點上,我會說只是使用當前的類加載器@kgiannakakis建議 - 它更簡單,並不清楚使用上下文類加載器會更好。如果遇到無法正常工作的情況,可以嘗試使用上下文類加載器作爲替代方法。
我不明白你想從哪裏複製文件。你能說清楚一點嗎?模板文件在哪裏?它在罐子裏嗎?您希望客戶在啓動應用程序後在其計算機上安裝此文件嗎? – amorfis 2009-07-21 20:16:40