zoukankan      html  css  js  c++  java
  • java读取配置文本文件

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.Properties;
    
    import org.springframework.util.StringUtils;
    
    public class ProperityUtils {
    
        public static String loadProperties2System(String location) throws IOException {
            String configLocation = location;
            File cnf;
            if (!StringUtils.hasLength(location)) {
                configLocation = "./config";
                cnf = new File(configLocation);
                if (!cnf.exists() || !cnf.isDirectory()) {
                    configLocation = "../config";
                    cnf = new File(configLocation);
                }
            } else {
                cnf = new File(location);
            }
    
            if (cnf.exists() && cnf.isDirectory()) {
                File[] files = cnf.listFiles();
                if (files != null) {
                    File[] pfiles = files;
                    int length = files.length;
    
                    for (int i = 0; i < length; ++i) {
                        File file = pfiles[i];
                        if (file.isFile() && file.getName().endsWith(".properties")) {
                            Properties ppt = new Properties();
                            FileInputStream fi = new FileInputStream(file);
                            Throwable e = null;
    
                            try {
                                ppt.load(fi);
                                Iterator<String> iterator = ppt.stringPropertyNames().iterator();
    
                                while (iterator.hasNext()) {
                                    String key = iterator.next();
                                    System.setProperty(key, ppt.getProperty(key));
                                    // if (!System.getProperties().containsKey(key)) {
                                    // }
                                }
                            } catch (Throwable e2) {
                                e = e2;
                                throw e2;
                            } finally {
                                if (fi != null) {
                                    if (e != null) {
                                        try {
                                            fi.close();
                                        } catch (Throwable e3) {
                                            e.addSuppressed(e3);
                                        }
                                    } else {
                                        fi.close();
                                    }
                                }
    
                            }
                        }
                    }
                }
            } else {
                System.out.println("" + configLocation + "” is not a directory. Can not load any properties file.");
            }
    
            return configLocation;
        }
    
        public static String loadProperty2System(String location) throws IOException {
            File file = new File(location);
            if (file.isFile() && file.getName().endsWith(".properties")) {
                Properties ppt = new Properties();
                FileInputStream fi = new FileInputStream(file);
                Throwable e = null;
    
                try {
                    ppt.load(fi);
                    Iterator<String> iterator = (Iterator<String>) ppt.stringPropertyNames().iterator();
    
                    while (iterator.hasNext()) {
                        String key = iterator.next();
                        System.setProperty(key, ppt.getProperty(key));
                        // if (!System.getProperties().containsKey(key)) {
                        // }
                    }
                } catch (Throwable e2) {
                    e = e2;
                    throw e2;
                } finally {
                    if (fi != null) {
                        if (e != null) {
                            try {
                                fi.close();
                            } catch (Throwable e3) {
                                e.addSuppressed(e3);
                            }
                        } else {
                            fi.close();
                        }
                    }
    
                }
            } else {
                System.out.println("" + location + "”,Can not load any property file.");
            }
    
            return file.getAbsolutePath();
        }
    
    }
  • 相关阅读:
    Django REST Framework之版本控制
    Django REST Framework之频率限制
    webpack4进阶配置
    高阶函数map,filter,reduce的用法
    Vue+elementui 实现复杂表头和动态增加列的二维表格
    Pika源码学习--pika和rocksdb的对接
    Pika源码学习--pika的命令执行框架
    Pika源码学习--pika的PubSub机制
    Pika源码学习--pika的通信和线程模型
    pika源码学习--开篇
  • 原文地址:https://www.cnblogs.com/liangblog/p/13600240.html
Copyright © 2011-2022 走看看