SpringBoot InputStream转File(InputStreamToFile)

SpringBoot 读取 resources 里的静态文件

由于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");

版权声明:本文为weixin_44119551原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。