使用FileInputStream读取jar包中的资源文件
1、问题现象:项目打成jar包后,使用ResourceUtils.getFile(keystoreFile)
无法访问到资源文件
//classpath为resources目录下
String testFile = "classpath:test.txt";
FileInputStream in = new FileInputStream(ResourceUtils.getFile(testFile));
2、问题分析:项目构建成jar包后,resources目录中的文件并不是直接存在系统中,而是嵌套在jar文件中。
3、解决方法:首先使用resource.getInputStream()
获取到该文件的InputStream
,然后使用FileUtils
的copyToFile()
方法将流拷贝到目标文件中
//要导入的包
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.apache.commons.io.FileUtils;
import java.security.KeyStore;
//测试文件
String testFile = "classpath:test.txt";
//获取test.txt,filePath为文件的绝对路径
String filePath = "D:\\Project\\y_project-RuoYi-master\\RuoYi\\ruoyi-admin\\src\\main\\resources\\test.txt";
//获取资源文件
Resource resource = new ClassPathResource(testFile);
File clientFile = new File(filePath);
FileUtils.copyToFile(resource.getInputStream(), clientFile);
//文件流读取
FileInputStream fileInputStream = new FileInputStream(clientFile);
参考链接:class path resource cannot be resolved to absolute file path
使用FileInputStream读取jar包中的资源文件相关推荐
- java从jar包中拷贝资源文件到临时文件夹
具体方法: /*** 拷贝资源问件** @param path*/public static void extract(String path) {try {//创建临时文件夹File tempDir ...
- java原生和SpringBoot读取jar包中MANIFEST.MF的方式
我们经常看到java的一些jar包META-INF目录下包含一个MANIFEST.MF文件,里面包含一些版本信息,标题,实现组织,很多第三方的jar包还会自定义一个属性. 本文讲解如何读取jar包中M ...
- 解决springboot读取jar包中文件的问题
解决springboot读取jar包中文件的问题 参考文章: (1)解决springboot读取jar包中文件的问题 (2)https://www.cnblogs.com/songxiaotong/p ...
- 打包部署后无法读取jar包里的文件(实测可行,Java中读取jar包中的文件)
打包部署后无法读取jar包里的文件 Java中读取jar包中的文件 linux中无法读取jar包中的内容(windows可以的!),如何解决 一.背景 项目中免不了需要读取文件,如果文件用绝对路径读取 ...
- 获取jar包内部的资源文件
通常获取一个资源文件很简单,问题是对于jar包内的资源文件,可能会发生意外.假如这里有一个文件操作的类: public class FileLoader {public boolean exists( ...
- 删除jar包中的指定文件
如何删除jar包中的指定文件呢? 当然使用解压缩软件(rar,zip,7z)肯定没问题.但是我想自动化,图形界面的工具就无能为力了. 核心方法: Java代码 /*** * 删除jar包中的内容 ...
- java 读取jar包中的文件
文章目录 项目resource中文件路径和jar包中文件路径的区别 正常读取 jar包读取 完整代码: 项目resource中文件路径和jar包中文件路径的区别 打成jar包后,是一个整体的文件. 正 ...
- Java如何读取JAR包外的properties文件及打成jar包后无法读取到jar包内的properties文件
项目中,经常把一部分功能独立出来,做一个java project,然后打成jar包供其他项目引用.这时候,如果jar包中需要读取配置文件信息,则很少把该配置打进jar包,因为它不方便修改,更多都是采 ...
- 如何读取jar包外的properties文件和log4j.properties
2019独角兽企业重金招聘Python工程师标准>>> 时间有限,不做排版和具体讲述问题产生的过程,下面是我的解决方案,已证实有效,其中Log4jP = "log4j.pr ...
最新文章
- linux驱动模块makefile,linux驱动makefile求解
- 江苏理工学院计算学院实验教学管理系统[.NET项目]
- linux进程查看所有线程,Linux中查看进程的多线程的方法
- J .U.C 中的原子操作类
- 局域网聊天9月局域网聊天
- 消息称苹果正在启动生产iPhone SE 3
- linux内核文件cache机制,Linux内核文件Cache机制
- 阿凡达时隔十年重映,王者归来还是炒冷饭?Python爬取上千条评论并分析
- Django SimpleCMDB API
- CentOS 迁移SVN以及可视化管理工具iF.SVNAdmin
- 提现微信和提现到支付宝
- 注册测绘师-大地测量与平差-衡量精度的标准
- PHP手册 2009国庆版
- 关于友情的励志故事------火炉的故事
- 记账软件,预设收支类别、收支账户进行记账的方法
- 小米前端实习电话面试一面
- 【大数据之Linux】
- 通过百度语音api实现语音控制五子棋——基于flask
- 【周志华机器学习】三、线性模型
- SQL Server2000配远程连接配置