绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
用java读取properties文件--转
2020-01-06 10:40:00

今天为了通过java读取properties文件,google了很长时间,终于找到了。现在特记录之和大家一起分享。 

    下面直接贴出代码:java类 

publicclass Mytest publicstaticvoidreadFile(String fileName) {//传入参数fileName是要读取的资源文件的文件名如(file.properties) InputStream in =null;

Properties pros =new Properties();

try {

if(null!= fileName) { //前提是资源文件必须和Mytest类在同一个包下 in = Mytest.class.getResourceAsStream(fileName); //得到当前类的路径,并把资源文件名作为输入流 pros.load(in);

Enumeration en = pros.propertyNames();//得到资源文件中的所有key值 while (en.hasMoreElements()) {

String key = (String) en.nextElement();

System.out.println("key=" + key + " value=" + pros.getProperty(key)); //输出资源文件中的key与value值 }

}

} catch (IOException e) {

e.printStackTrace();

System.out.println("读取资源文件出错");

} finally {

try {

if(null!= in) {

in.close();

}

} catch (IOException e) {

e.printStackTrace();

System.out.println("关闭流失败");

}

}

}

方法二:

import java.util.MissingResourceException; import java.util.ResourceBundle;

publicclass Messages {

privatestaticfinalString BUNDLE_NAME = "com.xxx.cs.mm.service.messages";//messages.properties文件和Messages类在同一个包下,包名:com.xxx.cs.mm.service privatestaticfinalResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);

private Messages() {

}

publicstatic String getString(String key) {

try {

return RESOURCE_BUNDLE.getString(key);

} catch (MissingResourceException e) {

return'!' + key + '!';

}

}

}

转自:http://duqiangcise.iteye.com/blog/319793

 

使用J2SE API读取Properties文件的六种方法

1。使用java.util.Properties类的load()方法

示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));

Properties p = new Properties();

p.load(in);

2。使用java.util.ResourceBundle类的getBundle()方法

示例: ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

3。使用java.util.PropertyResourceBundle类的构造函数

示例: InputStream in = new BufferedInputStream(new FileInputStream(name));

ResourceBundle rb = new PropertyResourceBundle(in);

4。使用class变量的getResourceAsStream()方法

示例: InputStream in = JProperties.class.getResourceAsStream(name);

Properties p = new Properties();

p.load(in);

5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法

示例: InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);

Properties p = new Properties();

p.load(in);

6。使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法

示例: InputStream in = ClassLoader.getSystemResourceAsStream(name);

Properties p = new Properties();

p.load(in);

补充

Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法

示例:InputStream in = context.getResourceAsStream(path);

Properties p = new Properties();

p.load(in);

注意:

this.getclass.getResourceAsStream(name);  //类与资源文件同级--同一个目录下

this.class.getClassLoader().getResourceAsStream(name); //资源文件与classpath同级。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

JAVA玩具小屋
创建时间:2019-08-16 16:54:49
分享程序开发方面的小经验,思考一些比较简单易懂的技术问题
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • Yios5092
    栈主

小栈成员

查看更多
  • 栈栈
  • coyan
  • 25minutes
  • ?
戳我,来吐槽~