JAVA 解決 SpringBoot 本地讀取文件成功,打包後讀取文件失敗的方法

SpringBoot 的平常開發中,咱們會發現當咱們使用  InputStream input = getClass.getResource(path) 讀取文件或者模板時,在 ida 中運行服務器

測試的時候一點問題沒有,可是打成 JAR 包部署到服務器上以後,文件的讀取的結果將不存在,解壓 jar 包發現文件時在裏面的,這是怎麼一會事呢?ide

由於,在 idea 中啓動時,項目在操做系統下是一個目錄,目錄下的文件能夠正常訪問,可是打包以後是一個壓縮吧,訪問壓縮包中的文件,以上方式是不可行的測試

這時咱們能夠將以上語句修改成下面兩種方式,平常開發中也推薦使用 2 的方式,該方式在未打包的時候也是有效的,不須要改來改去idea

1,讀取文件時使用 =>  InputStream input = getClass.getResourceAsStream(path)spa

2,也能夠選擇 => InputStream input = new ClassPathResource(path).getInputStream()操作系統

相關文章
相關標籤/搜索