【文件】Jar包后读取文件报错:(文件名、目录名或卷标语法不正确。)

资源文件的位置如下:
【文件】Jar包后读取文件报错:(文件名、目录名或卷标语法不正确。)_第1张图片
报错原因:因为这里通过类加载器获取项目根路径的方法并不能去解析压缩包中的文件,因为jar包本质上其实也是一种压缩文件

解决方法:jar文件中不能直接通过资源路径的方式获取文件,只能通过流去获取资源,所以要通过在jar包中拿到文件流的形式操作文件

源代码

import org.apache.commons.io.FileUtils;

InputStream inputStream = Thread.currentThread().getContextClassLoader()
                   .getResourceAsStream("/template/template.docx");
File docxFile = new File("template.docx");
FileUtils.copyInputStreamToFile(inputStream, docxFile);

附上具体的报错信息
在这里插入图片描述

你可能感兴趣的:(零碎笔记,jar,java)