首页 > 其他分享 >springboot打包jar文件运行后无法读取jar目录中的Excel模板文件

springboot打包jar文件运行后无法读取jar目录中的Excel模板文件

时间:2023-06-01 23:05:05浏览次数:40  
标签:文件 springboot jar new output size 读取



原因:SpringBoot内嵌web容器,其特点是只有一个jar文件,在容器启动后不会解压缩。


解决方式:

1. 必须使用相对路径读取文件;

假设你的模板文件放在了 resources —> templates —> xlsx —> test.xlsx

2. 只能使用流去读取,不能用file;

// jar里面文件读取方式:
	ClassPathResource classPathResource = new ClassPathResource("templates/xlsx/test.xlsx");
	// 获取文件流
	classPathResource .getInputStream();

如果要将流存储到数组中如下:

/**
     * 输出流转字节数组
     * @param input 输出流
     * @return 字节数组
     */
    public static byte[] toByteArray(InputStream input) throws IOException {
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024 * 4];
        int size = 0;
        while (-1 != (size = input.read(buffer))) {
            output.write(buffer, 0, size);
        }
        return output.toByteArray();
    }


标签:文件,springboot,jar,new,output,size,读取
From: https://blog.51cto.com/u_14671216/6398502

相关文章

  • 如何SpringBoot项目改为外置Tomcat启动
    如何SpringBoot项目改为外置Tomcat启动 正常情况下,我们开发SpringBoot项目,由于内置了Tomcat,所以项目可以直接启动,部署到服务器的时候,直接打成jar包,就可以运行了(使用内置Tomcat的话,可以在application.yml中进行相关配置)有时我们会需要打包成war包,放入外置的Tomcat......
  • IDEA 创建JavaWeb项目(不依赖 springboot)手动整合 SSM框架
    目录 1.创建一个Maven项目2.创建webapp和WEB-INF目录即可3.设置web.xml文件和web文件目录4.导入相关ssm框架的pom依赖文件5.创建对应的包结构:6.添加配置文件(配置mybatis、spring、springMvc等配置文件)7.web.xml配置文件8. 配置本地Tomcat运行9.打包发布1.创建一个Mav......
  • 基于JAVA的springboot+vue财务管理系统,附源码+数据库+论文+PPT
    1、项目介绍随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,财务管理系统就是信息时代变革中的产物之一。任何系统都要遵循系统设计的基......
  • SpringBoot SSM vue 在线办公系统
    SpringBootSSMvue在线办公系统系统功能登录忘记密码首页统计分析用户管理员工管理公告管理考勤管理绩效管理薪酬管理流程管理留言管理文件管理开发环境和技术开发语言:Java使用框架:SpringBoot或SSM +Mybatis+MysqlSpringBoot是一个用于构建Java应用......
  • 使用dom4j解析mybatis核心配置文件
    1. 代码   32-34test代码在com.powernode.xml.testParseXMLByDom4jTestpackagecom.powernode.xml.test;importorg.dom4j.Document;importorg.dom4j.Element;importorg.dom4j.Node;importorg.dom4j.io.SAXReader;importorg.junit.Test;importjava.io.InputStream......
  • DWG文件的设计规范 V4.5.1(中英对照版)
    DWG文件的设计规范V4.5.1OpenDesignSpecificationfor.dwgfilesVersion5.4.1liability英[ˌlaɪəˈbɪləti] 美[ˌlaɪəˈbɪləti]n.责任;倾向;债务;妨碍assumesv.取得(权力)(assume的第三人称单数);假设;假定;呈现issubjectto英[izˈsʌbdʒikttu:] 美[ɪzˈs......
  • windows cmd使用ssh连接Linux以及文件上传
    CMD连接服务器命令(47.102.144.221为服务器IP)[email protected]文件上传(scp后面参数为本地文件地址,47.102.144.221为服务器IP,冒号后面指将文件上传到服务器哪个目录下)scpD:\[email protected]:/server/tmp如何要从服务器下载文件还是使用scp命令如下:sc......
  • 企业级springboot项目架构模板V3.0,开箱即用
    此次3.0更新点:1.加入文件服务(quick-storage)功能支持OSS、FTP存储(该服务支持以SDK的方式引入)2.修复sentinel因path路径问题导致流控失效问题3.修复word模板生成PDF文件工具类时首次生成时,图片生成没有成功写入FTP的问题,原因为临时文件路径问题。4.修改部分类的包路径5.auth服......
  • springBoot service 事务注解@Transactional不起作用的解决
    在springBoot使用事物时,发现事务并没有正常执行,没有进行回滚@Transactionalpublicvoidadd(StringcompanyName,Stringname)throwsMyException{ companyDao.add(companyName);try{ userDao.addUser(name);}catch(DuplicateKeyExceptione){//......
  • 企业级springboot项目架构模板V1.0,开箱即用
    项目地址:https://gitee.com/liujinxin_ark/quick-template/releases项目问题可在评论中留言,项目持续更新中…quick-template项目介绍软件架构quick-auth-serve工程quick-log-serve工程quick-common工程quick-config工程quick-base-serve工程quick-web-serve工程control目......