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();
}

}

相关文章
|
21天前
|
Java
Java“解析时到达文件末尾”解决
在Java编程中,“解析时到达文件末尾”通常指在读取或处理文件时提前遇到了文件结尾,导致程序无法继续读取所需数据。解决方法包括:确保文件路径正确,检查文件是否完整,使用正确的文件读取模式(如文本或二进制),以及确保读取位置正确。合理设置缓冲区大小和循环条件也能避免此类问题。
|
3天前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
|
3天前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
|
19小时前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
13 4
|
10天前
|
安全 Java 数据安全/隐私保护
如何配置 Java 安全管理器来避免访问控制异常
配置Java安全管理器以防止访问控制异常,需在启动JVM时通过 `-Djava.security.manager` 参数启用,并设置安全策略文件,定义权限规则,限制代码执行操作,确保应用安全。
|
13天前
|
Java
Java开发如何实现文件的移动,但是在移动结束后才进行读取?
【10月更文挑战第13天】Java开发如何实现文件的移动,但是在移动结束后才进行读取?
36 2
|
13天前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
34 1
|
13天前
|
监控 Java
Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
【10月更文挑战第13天】Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
47 1
|
13天前
|
Java BI 调度
Java Spring的定时任务的配置和使用
遵循上述步骤,你就可以在Spring应用中轻松地配置和使用定时任务,满足各种定时处理需求。
88 1
|
17天前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
27 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用