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

 

posted @ 2022-01-06 22:36  一木人生  阅读(1789)  评论(0编辑  收藏  举报