我有一個Resource對象(org.springframework.core.io.ClassPathResource)。我需要獲得File對象,但resource.getFile(
)拋出一個exe文件未找到。但在調用resource.getURI()
後,我得到一個結果如何從spring獲取文件資源
jar:file:/D: .... file.jar!/com//test/0be14958-3778-40bf-bd3e-ee605fcdd3f0/verify
目錄位於jar文件中。是否有可能解決ClassPathResource的限制並創建一個File對象?
我已經嘗試了新的文件(resource.getURI()),但它失敗,java.lang.IllegalArgumentException異常:URI不分層
什麼是我的錯?
我需要File來調用list()方法來獲取其中的子目錄的名稱。 –
不幸的是,我在org.apache.commons.io.IOUtils.copy上得到了NPE。 resource.getInputStream()和新的FileOutputStream(temp)都不爲null。 –
啊......我說的應該適用於JAR中的文件,但不適用於目錄。如果您需要在JAR中列出目錄的內容,則可能需要轉到其他路徑。一個JAR文件只是一個普通的zip文件,所以你可以從getURI(「!」之前的部分)解析它的路徑並按照[這裏]描述的方式打開它(http://stackoverflow.com/questions/1429172/怎麼辦-I-列表的檔案,裏面-A-JAR文件)。 –