java怎么在包中创建配置文件

java怎么在包中创建配置文件,第1张

先看代码目录结构:

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

}

}


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

原文地址: http://outofmemory.cn/tougao/12239470.html

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

发表评论

登录后才能评论

评论列表(0条)

保存