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