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-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 action读取src目录下的properties配置文件。mailServer.properties配置文件如下:
mailServerHost = smtp.163.com
mailServerPort = 25
authValidate = true
userName = test@163.com
读取配置文件类GetProperty代码如下:
package com.hsinghsu.test.action
import java.io.IOException
import java.io.InputStream
import java.util.Properties
public class GetProperty {
// 方法一:通过java.util.ResourceBundle读取资源属性文件
public static String getPropertyByName(String path, String name) {
String result = ""
try {
// 方法一:通过java.util.ResourceBundle读取资源属稿州则性文件
result = java.util.ResourceBundle.getBundle(path).getString(name)
System.out.println("name:"键棚 + result)
} catch (Exception e) {
System.out.println("getPropertyByName2 error:" + name)
}
return result
}
// 方法二:通过类加载目录getClassLoader()加载属性文件
public static String getPropertyByName2(String path, String name) {
String result = ""
// 方法二:通过类加载目录getClassLoader()加载属性文件
InputStream in = GetProperty.class.getClassLoader()
.getResourceAsStream(path)
// InputStream in =
// this.getClass().getClassLoader().getResourceAsStream("mailServer.properties")
// 注:Object.class.getResourceAsStream在action中调用报错,在普通java工程中可用
// InputStream in =
// Object.class.getResourceAsStream("/mailServer.properties")
Properties prop = new Properties()
try {
prop.load(in)
result = prop.getProperty(name).trim()
System.out.println("name:"迹败 + result)
} catch (IOException e) {
System.out.println("读取配置文件出错")
e.printStackTrace()
}
return result
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)