springboot 項目中讀取資源文件內容 如圖片、文檔文件 ...
1 問題描述:在 springboot 項目中有時候會需要讀取一些資源文件,例如 office的 docx 文檔或者 png、jpg的圖片。在多模塊項目中資源文件需要放到啟動項目的 Resources 文件夾
示例代碼如下:
InputStream pngInStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("img.png"); ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int n; while ((n = pngInStream.read(buffer)) != -1) { out.write(buffer,0,n); } System.out.println(out.toByteArray());
可以將 Resources 目錄下的 img.png 圖片讀取出來,存放到 out 對象中。
在應用中涉及到 io 操作時最好將數據轉換成 io 流,提高運算速度,可以到記憶體中運算。ByteArrayOutputStream, ByteArrayInputStream
不要使用 InputStream.avaiable() 方法,在不同系統中讀到的數據可能不一樣