读Properties文件和往Properties文件里面写内容

来源:互联网 发布:镇魔曲 知乎 编辑:程序博客网 时间:2024/04/27 18:19

读Properties文件和往Properties文件里面写内容

    博客分类: 
  • java
Web

读取配置文件是一个很常用的操作;

读文件很简单:

Java代码  收藏代码
  1. public static String getProperty(String key) {  
  2.         String value = "";  
  3. //第一步是取得一个Properties对象  
  4.         Properties props = new Properties();  
  5. //第二步是取得配置文件的输入流  
  6.         InputStream is = PropUtil.class.getClassLoader().getResourceAsStream("config.properties");//在非WEB环境下用这种方式比较方便  
  7.         try {  
  8.             InputStream input = new FileInputStream("config.properties");//在WEB环境下用这种方式比较方便,不过当配置文件是放在非Classpath目录下的时候也需要用这种方式  
  9. //第三步讲配置文件的输入流load到Properties对象中,这样在后面就可以直接取来用了  
  10.             props.load(input);  
  11.             value = props.getProperty(key);  
  12.             is.close();  
  13.         } catch (IOException e) {  
  14.             // TODO Auto-generated catch block  
  15.             e.printStackTrace();  
  16.         }  
  17.         return value;  
  18.     }  

 

往配置文件里面写内容:

Java代码  收藏代码
  1. public static void setProperty(Map<String,String> data) {  
  2. //第一步也是取得一个Properties对象  
  3.         Properties props = new Properties();  
  4. //第二步也是取得该配置文件的输入流  
  5. //      InputStream is = PropUtil.class.getClassLoader().getResourceAsStream("config.properties");  
  6.         try {  
  7.             InputStream input = new FileInputStream("config.properties");  
  8. //第三步是把配置文件的输入流load到Properties对象中,  
  9.             props.load(input);  
  10. //接下来就可以随便往配置文件里面添加内容了  
  11. //          props.setProperty(key, value);  
  12.             if (data != null) {  
  13.                 Iterator<Entry<String,String>> iter = data.entrySet().iterator();  
  14.                 while (iter.hasNext()) {  
  15.                     Entry<String,String> entry = iter.next();  
  16.                     props.setProperty(entry.getKey().toString(), entry.getValue().toString());  
  17.                 }  
  18.             }  
  19. //在保存配置文件之前还需要取得该配置文件的输出流,<span style="color: #ff0000; font-size: medium;">切记,</span>如果该项目是需要导出的且是一个非WEB项目,则该配置文件应当放在根目录下,否则会提示找不到配置文件  
  20.             OutputStream out = new FileOutputStream("config.properties");  
  21. //最后就是利用Properties对象保存配置文件的输出流到文件中;  
  22.             props.store(out, null);  
  23.             input.close();  
  24.             out.close();  
  25.         } catch (IOException e) {  
  26.             // TODO Auto-generated catch block  
  27.             e.printStackTrace();  
  28.         }  
  29.     }  
0 0