如何读取war包中的properties文件,不使用web请求上下文的方式实现

qqzy168 2011-12-18 02:47:14
如何读取war包中的properties文件,不使用web请求上下文的方式实现
项目需求,我想在java project项目中,写个类可以读取war包中的配置文件信息
有什么好的办法呀?

请高手解惑,不胜感激!!!
...全文
126 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kouyiSC 2011-12-18
  • 打赏
  • 举报
回复

还有一种方法。。代码量更少的。。
package com.test.impt;

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;

public class ReadProperties {

// 配置文件名称
private static final String CONFIG_PROPERTIES_FILE = "sms.properties";

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

InputStream is = ClassLoader.getSystemResourceAsStream(CONFIG_PROPERTIES_FILE);
try {
Properties props = loadPropertiesFileStream(is);
System.out.println(props.getProperty("dx.server.host")); // 成功输出
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static Properties loadPropertiesFileStream(InputStream is)
throws Exception {
Properties props = null;
try {
props = new Properties();
props.load(is);
} catch (Exception e) {
props = null;
} finally {
if (is != null)
is.close();
}
return props;
}
}
kouyiSC 2011-12-18
  • 打赏
  • 举报
回复

执行前需要将sms.properties文件放在src目录。。

package com.test.impt;

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;

public class ReadProperties {

// 配置文件名称
private static final String CONFIG_PROPERTIES_FILE = "sms.properties";

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String filePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
try {
Properties props = loadProperties(filePath + CONFIG_PROPERTIES_FILE);
System.out.println(props.getProperty("dx.server.host")); // 成功输出
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static Properties loadProperties(String propertiesFile)
throws Exception {
Properties props = null;
// propertiesFile = getPropertiesFile(propertiesFile);

// ----------------------------------------------------------------
// ...and if so, then load the values from that external file
InputStream in = null;
try {
in = new FileInputStream(propertiesFile);
props = new Properties();
props.load(in);
} catch (Exception e) {
props = null;
} finally {
if (in != null)
in.close();
}
return props;
}
}

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧