zoukankan      html  css  js  c++  java
  • properties配置文件的基本操作

    对properties的基本操作

    public class PropertiesUtil {
    // 是否是文件
    public static boolean isFile = false;
    // 路径
    public static String path;
    // 单列properties
    private static Properties properties = null;
    // 构造方法初始化文件
    public PropertiesUtil(String path) {
    this.path = path;
    File file = new File(path);
    isFile = file.isFile();
    // TODO Auto-generated constructor stub
    }
    public boolean isFile(String path){
    return isFile;
    };
    // 把配置文件转化为对象
    public Object propertiesToObject(Object object,String path) throws Exception, NoSuchMethodException{
    if(!isFile(path)){
    return null;
    }
    Field[] files = object.getClass().getDeclaredFields();
    Properties properties = load(path);
    for(Field field:files){
    String fieldName = field.getName();
    Class type = field.getType();
    String methodFieldName = "set"+fieldName.substring(0, 1).toUpperCase()+fieldName.substring(1);
    Method method = object.getClass().getMethod(methodFieldName, type);
    method.invoke(object, properties.get(fieldName));
    }
    return object;
    }
    // 获取配置文件中所有的键值
    public List<Object> getListKey(String path) throws IOException{
    if(!isFile(path)){
    return null;
    }
    Properties properties = load(path);
    Set<Object> set = properties.keySet();
    List<Object>list = new ArrayList<Object>(set);
    return list;
    }
    // 获取配置文件中所有的值
    public List<Object> getListValue(String path) throws IOException{
    if(!isFile(path)){
    return null;
    }
    Properties properties = load(path);
    List<Object> list = new ArrayList<Object>();
    for(Object key:properties.keySet()){
    list.add(properties.get(key));
    }
    return list;
    }
    // 配置文件转成map集合
    public Map<String,Object> getMapKeyValue(String path) throws IOException{
    if(!isFile(path)){
    return null;
    }
    Map<String,Object> resultMap = new HashMap<String,Object>();
    Properties properties = load(path);
    for(Object key : getListKey(path)){
    resultMap.put((String)key, properties.get(key));
    }
    return resultMap;
    }
    public Properties load(String path) throws IOException{
    if(properties == null){
    InputStream stream = new FileInputStream(path);
    properties = new Properties();
    properties.load(stream);
    }
    return properties;
    }
    public static void main(String[]args) throws NoSuchMethodException, Exception{
    String path = "D:/ceshiproperties/admessage.properties";
    PropertiesUtil util = new PropertiesUtil(path);
    System.out.println("此文件是否是一个文件"+util.isFile(path));
    List<Object> listKey = util.getListKey(path);
    for(Object object:listKey){
    System.out.println("配置文件中所有的key值"+object.toString());
    }
    List<Object> listValue=util.getListValue(path);
    for(Object object:listValue){
    System.out.println("配置文件中所有的value"+object.toString());
    }
    AdMessage adMessage = new AdMessage();
    util.propertiesToObject(adMessage, path);
    System.out.println("值1"+adMessage.getMessage_content_changestatus_());
    System.out.println("值2"+adMessage.getMessage_content_delete_());
    System.out.println(util.getMapKeyValue(path));
    System.exit(0);
    }
    }

    对象bean的构造

    public class AdMessage {
    private String message_subject_of_delete_;
    private String message_subject_changestatus_;
    private String message_content_delete_;
    private String message_content_changestatus_;
    public String getMessage_subject_of_delete_() {
    return message_subject_of_delete_;
    }
    public void setMessage_subject_of_delete_(String message_subject_of_delete_) {
    this.message_subject_of_delete_ = message_subject_of_delete_;
    }
    public String getMessage_subject_changestatus_() {
    return message_subject_changestatus_;
    }
    public void setMessage_subject_changestatus_(
    String message_subject_changestatus_) {
    this.message_subject_changestatus_ = message_subject_changestatus_;
    }
    public String getMessage_content_delete_() {
    return message_content_delete_;
    }
    public void setMessage_content_delete_(String message_content_delete_) {
    this.message_content_delete_ = message_content_delete_;
    }
    public String getMessage_content_changestatus_() {
    return message_content_changestatus_;
    }
    public void setMessage_content_changestatus_(
    String message_content_changestatus_) {
    this.message_content_changestatus_ = message_content_changestatus_;
    }

    }

    配置文件properties

    路径:D:/ceshiproperties/admessage.properties

    message_subject_of_delete_=liubing
    message_subject_changestatus_=u60A8u6709u4E00u6761{0}u6570u636Eu88ABu6FC0u6D3B
    message_content_delete_=15
    message_content_changestatus_={0}u6FC0u6D3Bu4E86u4E00u6761{1}u6570u636E

  • 相关阅读:
    挂载nfs提示:mount.nfs: access denied by server while mounting...
    linux后台运行、关闭、查看后台任务常用命令
    linux sort命令用法
    tcping端口检测工具使用
    实现对MySQL数据库进行分库/分表备份(shell脚本)
    win server服务器 关闭危险端口 135,137,138,139,445的方法
    curl: (7) couldn't connect to host 解决方法
    vim调试Shell脚本: unexpected EOF while looking for matching
    sed:-e 表达式 #1,字符 10:未终止的“s”命令
    linux E325: 注意 发现交换文件 "*.swp" 解决方法
  • 原文地址:https://www.cnblogs.com/bingru/p/7527821.html
Copyright © 2011-2022 走看看