JSP 中Spring的Resource类读写中文Properties实例代码

网络编程 2021-07-05 11:23www.168986.cn编程入门
这篇文章主要介绍了JSP 中Spring的Resource类读写中文Properties实例代码的相关资料,需要的朋友可以参考下

JSP 中Spring的Resource类读写中文Properties

摘要: Spring对Properties的读取进行了完善而全面的封装,对于写则仍需配合FileOutputStream进行。

 package .oolong.mon.util;

import .springframework.core.io.support.PathMatchingResourcePatternResolver;
import .springframework.core.io.support.ResourcePatternResolver;
import java.io.;
import java.util.;

public class UserVar {
 private static String configFile = "classpath:param.properties";
 private static .springframework.core.io.Resource resourceWritable;
 private static Properties p;

 /
   注意事项:
   1、properties放在source目录下
   2、param.properties至少有一对键值对
  /
 static {
  p = new Properties();
  .springframework.core.io.Resource[] resources = null;
  try {
   ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
   resources = resolver.getResources(configFile);
   if (resources != null) {
    for (.springframework.core.io.Resource r : resources) {
     if (r != null) {
      p.load(r.getInputStream());
      resourceWritable = r;
     }
    }
   }
  } catch (IOException e1) {
   e1.printStackTrace();
  }
 }

 public static String get(String key) {
  String v = (String) p.get(key);
  if (v != null) {
   try {
    return new String(v.getBytes("ISO-8859-1"), "GBK");
   } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    return null;
   }
  }
  return null;
 }

 public static void set(String key,String value){
  if (null != resourceWritable) {
   try {
    OutputStream fos = new FileOutputStream(resourceWritable.getFile());
    Properties p = new Properties();
    p.load(resourceWritable.getInputStream());
    value = new String(value.getBytes("GBK"),"ISO-8859-1");
    p.setProperty(key, value);
    p.store(fos, null);
    fos.close();
   } catch (IOException e) {
    e.printStackTrace();
   }
  }
 }
}


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by