我需要複製一個文件夾,打包在運行時的Jar中。我想通過調用一個包含在同一個文件夾中的類中的函數來完成它。如何從JAR中提取文件夾
我一直在使用getSystemResource
嘗試:
URL sourceDirUrl = ClassLoader.getSystemResource("sourceDirName");
File sourceDir = new File(sourceDirUrl.toURI());
,但它不工作。 我可能必須遞歸使用getResourceAsStream
函數。有沒有更優雅的/跨海大道的方式來做到這一點?
如果我必須遞歸執行: 1.我不想指定硬編碼的文件,我想動態地執行它 2.我不想創建單獨的歸檔文件。我想這個資源是在同一個JAR的類和它打交道
感謝
最後我做什麼Koziołek以下建議。雖然我希望有一個更優雅的解決方案,但看起來這樣的效果還是不錯的。
你給'sourceDirName'作爲完整路徑嗎? – Nishant 2011-03-21 11:44:29
是的,請舉例說明你使用的'sourceDirName'。 – asgs 2011-03-21 11:46:12
@Nishant - 不,相對路徑,第一行有效,URL正確,但是根據這個URL創建一個File對象是不可能的,因爲這個文件夾在歸檔中 – 2011-03-21 11:50:04