java 怎么读取jar包里的文件

java 怎么读取jar包里的文件,第1张

import java.io.BufferedReader

import java.io.InputStream

import java.io.InputStreamReader

import java.util.jar.JarEntry

import java.util.jar.JarFile

public class ReadOutJarFile {

public static void main(String[] args) throws Exception {

String jarName="C://test.jar"//Jar包所在的位置

String fileName="com/111.txt"//文件在jar包里的路径

JarFile jarFile = new JarFile(jarName)//读入jar文件

在src目录下建议一个文件夹,专门存放配置文件,项目编译后,直接用jar命令打包即可。

如有疑问,可远程协助解决。

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11943459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存