讀取springboot專案中的檔案及路徑

2021-09-26 12:53:58 字數 778 閱讀 7325

比如讀取nopic.png 推薦使用 

inputstream inputstream = this.getclass().getclassloader().getresourceasstream("static/nopic.png");
直接轉換成io流的格式 然後對流進行操作,注意用該方法路徑開頭不能帶「/」,既是「static/nopic.pgn」,而不是「/static/nopic.pgn」,後者是讀取為空,原因可以自行搜尋讀取專案的相對路徑和絕對路徑。

不推薦使用獲取路徑然後轉換成檔案這種方法。

string path = this.getclass().getclassloader().getresource("static/nopic.png").getpath();

file file=new file("path");

事實上如果獲取檔案路徑,就不要使用如上的方法,這種方法在idea裡執行是沒有問題的,但是打成jar包發布後,改讀取路徑的方法是沒法獲取到正確路徑的,具體原因可以自行搜尋。

如果一定要讀取某個檔案或者資料夾的路徑 推薦使用下面的方法;

string dirpath = h.getsource().getparentfile().tostring();

這種方法無論是windos環境還是linux環境都可以準確的獲取到根目錄路徑,然後進行拼接。

Springboot專案中Swagger的使用

2.7.0swagger.version properties io.springfoxgroupid springfox swagger uiartifactid version dependency io.springfoxgroupid springfox swagger2artifactid...

SpringBoot專案中Redis配置多資料庫

背景 乙個小需求,單redis服務例項下根據業務配置多個資料庫,需要自定義redis配置稍作改動才能實現,此時就不能redistemplate一步就位了 注 redis使用單執行緒 多路復用 io模型,別把多業務的併發全加在乙個redis例項上,最好多例項或者集群處理!基本的配置我就不多說了,可以參...

Spring Boot 專案中引入 flyway

org.flywaydb flyway core 5.2.4 flyway spring.flyway.baseline on migrate true spring.flyway.baseline description flyway baseline 禁止刪除 schema 下的 table s...