inputStream 拷貝到File對象,存儲到本地



由於SpringBoot打包后是jar包,可以不用解壓運行.
所以無法直接使用new File來獲取靜態文件。
我的解題思路是這樣的直接將文件存儲到windows/Linux服務器上,再通過相對路徑去new File文件.

        //存在windows/Linux服務器上的相對路徑的文件夾
        String path = "/fonts";
        //判斷文件夾是否存在存在不做任何操作,不存在則新建
        if(!new File(path).exists())   {
            boolean mkdirs = new File(path).mkdirs();
            if(!mkdirs){
            }
        }
        //讀取resources目錄下的文件為流! 我這里使用的fonts是resources里的文件夾
        InputStream stream = this.getClass().getClassLoader().getResourceAsStream("fonts/simhei.ttf");
        //將流復制到相對路徑內
        Files.copy(stream, Paths.get("/fonts/simhei.ttf"));
        //new File() 相對路徑里的文件
        File file= new File("/fonts/simhei.ttf");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM