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();
        }
    
    }
  • 相关阅读:
    [Luogu] 封锁阳光大学
    [other] Div
    [USACO11DEC] 牧草种植Grass Planting
    [Luogu] 仓鼠找sugar
    [USACO15DEC]最大流Max Flow
    [noip-2013] 货车运输
    [模板] 普通平衡树
    [Luogu] 树链剖分
    [ZJOI2008] 树的统计Count
    大组合数取模
  • 原文地址:https://www.cnblogs.com/liangblog/p/13600240.html
Copyright © 2011-2022 走看看