先看代码目录结构:
程序里面可以直接读取到weather.xml文件,代码如下:
但是一旦把这个class文件和xml文件打成jar包再运行,对不起,报错,QueryWeather.class字节码根本找不到weather.xml
在看打成jar包的结构:
用下面的方法就可以找到weather.xml
src/weather/
QueryWeather.java
weather.xml程序里面可以直接读取到weather.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-INF
MANIFEST.MF
weather
QueryWeather.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 = "";
while((s = fb.readLine()) != null) {
sb = sb.append(s);
}
return sb.toString();
}
Java中读取资源文件
本文介绍了在Java项目中如何从不同环境下(如IDE开发环境和打包后的JAR文件环境)正确读取XML配置文件的方法。通过两种不同的方式展示了如何确保程序能够稳定地获取到所需的配置信息。
951

被折叠的 条评论
为什么被折叠?



