springboot读取文件打成jar包后访问不到怎么解决
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要介绍"springboot读取文件打成jar包后访问不到怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"springboot读取文件打成ja
千家信息网最后更新 2024年09月22日springboot读取文件打成jar包后访问不到怎么解决
这篇文章主要介绍"springboot读取文件打成jar包后访问不到怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"springboot读取文件打成jar包后访问不到怎么解决"文章能帮助大家解决问题。
springboot读取文件,打成jar包后访问不到
最新开发出现一种情况,springboot打成jar包后读取不到文件,原因是打包之后,文件的虚拟路径是无效的,只能通过流去读取。
文件在resources下
public void test() { Listnames = new ArrayList<>(); InputStreamReader read = null; try { ClassPathResource resource = new ClassPathResource("name.txt"); InputStream inputStream = resource.getInputStream(); read = new InputStreamReader(inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(read); String txt = null; while ((txt = bufferedReader.readLine()) != null) { if (StringUtils.isNotBlank(txt)) { names.add(txt); } } } catch (Exception e) { e.printStackTrace(); } finally { if (read != null) { try { read.close(); } catch (IOException e) { e.printStackTrace(); } } } }
springboot打jar包后台无法访问静态文件夹
1.ResourceUtils
平常我们写spring boot 项目的时候偶尔会在后台用到classpath 底下的文件,一般我们都是这样写的
File file = ResourceUtils.getFile("classpath:static/image/image");
这样情况下本来是没啥问题的。但是用 打jar 包 运行以后就会找不到这个文件。
Resource下的文件是存在于jar这个文件里面,在磁盘上是没有真实路径存在的,它其实是位于jar内部的一个路径。所以通过ResourceUtils.getFile或者this.getClass().getResource("")方法无法正确获取文件。
对于这种情况。有时候会把项目文档放到项目外边,但是这样很容易把这些东西误删除掉。
2.ClassPathResource
ClassPathResource cpr = new ClassPathResource("static/image/image/kpg"); InputStream in = cpr.getInputStream();
3. ResourceLoader
public class ResourceRenderer { public static InputStream resourceLoader(String fileFullPath) throws IOException { ResourceLoader resourceLoader = new DefaultResourceLoader(); return resourceLoader.getResource(fileFullPath).getInputStream(); }}
用法
InputStream in = ResourceRenderer.resourceLoader("classpath:static/image/image");
这样就完美的解决了jar包底下路径无法访问的问题。
关于"springboot读取文件打成jar包后访问不到怎么解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
文件
路径
情况
知识
问题
项目
后台
方法
行业
不同
实用
平常
东西
内容
原因
实用性
实际
文件夹
文档
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
菲比寻常互联网科技
英雄联盟北美服务器怎么改西欧服
吉安软件开发制作
切削智能数据库的需求
我的世界2b2t服务器怎么制作
宽城区有名的网络技术售后服务
方舟怎么在手机上进入电脑服务器
光盘数据库是文献
软件开发公司增值税的计算
海南智能化软件开发服务价格
打造网络安全大脑
通信网络技术岗要做什么呢
服务器 i7
我的世界1.6.2服务器懒人包
软件开发社会意义
远景能源软件开发
2021年网络安全事故
福建联想服务器虚拟化
批量操作会占用数据库时间么
access备份数据库方法
mysql数据库求和
高中教务系统软件开发
武汉华信通网络技术
网络安全人才渠口
lol英雄基础数据库
海曙一站式软件开发企业
无锡市软件开发哪个公司好
校园网络安全的手抄报怎么画
滁州服务器机箱机柜企业
方舟端游联机搜索不到服务器