导航:首页 > 文件教程 > java从jar包中读取资源文件

java从jar包中读取资源文件

发布时间:2022-12-24 01:36:23

java获取jar包中资源文件

在src目录下建议一个文件夹,专门存放配置文件,项目编译后,直接用jar命令打包即可。
如有疑问,可远程协助解决。

有问题欢迎提问,满意请采纳,谢谢!

⑵ java打成jar包后读取非resources文件

在Java项目中,需要读取resource资源目录下的文件,以及遍历指定资源目录下的所有文件,并且在读取文件时保留文件相对路径。

⑶ 如何读取Jar包里面的文件

方法1:
@Test
public void usingSpringMethod() throws Throwable {
patternResolver = new ();
Resource[] resources = patternResolver.getResources("com/yyy/1.txt");//<--②
if (resources != null && resources.length > 0) {
InputStreamReader inputStreamReader = new InputStreamReader(resources[0].getInputStream());//<---①
char[] data = new char[100];
inputStreamReader.read(data);
assertEquals((new String(data)).trim(), "ddddd");
}
}
上面①处,使用[0].getInputStream()代替原来的
引用
resources[0].getFile()
当然,②处的资源路径表达式,可以使用Spring的其它方式表示:
方式1:
Java代码
Resource[] resources = patternResolver.getResources("classpath:com/yyy/1.txt");
方式2:
Java代码
Resource[] resources = patternResolver.getResources("classpath*:com/yyy/1.txt");
方法2:
直接原生的JDK方式读取
Spring对资源路径的表达方式非常灵活,这是首选使用Spring加载资源的原因。当然,使用JDK原生的ClassLoader也可以加载JAR中的资源文件,如下所示:
@Test
public void usingJDKMethod() throws Throwable {
URL url = getClass().getClassLoader().getResource("com/yyy/1.txt");//<--①
InputStreamReader inputStreamReader = new InputStreamReader(url.openStream());
char[] data = new char[100];
inputStreamReader.read(data);
assertEquals((new String(data)).trim(), "ddddd");
}
唯一的限制是,在①处不再支持classpath:或classpath*:的前缀了。

⑷ jar方式运行项目-读取jar包中的文件

在目前的微服务和容器部署的SpringBoot坏境下,我们一般将项目直接打成 jar包的方式运行(java -jar *),我们可能需要读取resources目录下的自定义文件,想在程序运行时找到该目录,并读取需要的文件。

当时我使用 System.getProperty("user.dir") 获取工作目录的坑,本地idea工具运行没问题,但是一但打成jar包,路径会变成jar包所在的目录,无法读取jar内部的文件, 不建议用这种方式

由于jar中的文件都属于资源的一种,所以获取需从类加载器进行获取。正确的姿势是采用 this.getClass().getClassLoader().getResourceAsStream() 的方式。

读取自定义文件时,由于getResourceAsStream方法返回的是一个InputStream流,采用InputStreamReader这种方式 最好指定一种编码方式 ,不然可能 中文乱码 !(我在解析xml时中文乱码)

⑸ 如何从JAR文件中读取文件

1、创建一个路径为要读取的txt文件的file对象rFile。2、创建一个路径为要写入的txt文件的file对象wFile。3、创建一个FileReader对象,传入rFile到构造器。4、准备一个char数组,FileReader类有一个继承自java.io.Reader的read(char[]cbuf)方法,将字符读入数组。5、创建一个FileWriter对象,传入wFile到构造器。6、FileWriter类有一个继承自java.io.Writer的write(char[]cbuf)方法,可以写入字符数组。7、最后别忘了关闭流。

⑹ jar包里面的代码如何读取jar包中的配置文件

先看代码目录结构:
src/weather/
QueryWeather.java
weather.xml
程序里面可以直接读取到.xml文件,代码如下:
private static String getXmlContent()throws IOException {
FileReader f = new FileReader("src/weather/weather.xml");
BufferedReader fb = new BufferedReader(f);
StringBuffer sb = new StringBuffer("");
String s = "";
while((s = fb.readLine()) != null) {
sb = sb.append(s);}return sb.toString();}但是一旦把这个class文件和xml文件打成jar包再运行,对不起,报错,QueryWeather.class字节码根本找不到weather.xml
在看打成jar包的结构:META-INFMANIFEST.MFweatherQueryWeather.class
weather.xml
用下面的方法就可以找到weather.xml
private static String getXmlContent()throws IOException {
Reader f = new InputStreamReader(QueryWeather.class.getClass().getResourceAsStream("/weather/weather.xml"));
BufferedReader fb = new BufferedReader(f);
StringBuffer sb = new StringBuffer("");
String s = "";

阅读全文

与java从jar包中读取资源文件相关的资料

热点内容
win10勒索文件保护设置 浏览:842
arcgissde93安装教程 浏览:487
xml文件注释快捷键 浏览:878
extjs的配置文件怎么配置重定向 浏览:740
access数据库查看aspx 浏览:154
数控编程如何减少时间 浏览:779
苹果FLAC属性 浏览:642
硬盘评分工具 浏览:734
为什么e福州app登不上 浏览:963
jsfoutputlink 浏览:472
哪个网站可以听南音 浏览:264
苹果装系统装win7驱动 浏览:686
php判断file是否有文件 浏览:979
和平精英使用什么编程开发 浏览:102
f3文件 浏览:523
快手3d环绕音乐用什么app 浏览:376
linux新增一个文件 浏览:440
消失的手机图片在哪个文件夹里 浏览:610
word2010表格外框双线内框单线 浏览:56
powermill如何提高编程速度 浏览:465

友情链接