Java加载jar包外的配置文件,转为map获取参数

 
 

某些时候我们需要将配置文件外置,放在jar包外方便修改

位置如图所示

@Test public void ceshi() throws FileNotFoundException { FileInputStream inputStream = new FileInputStream("cap.properties"); try { byte[] b = new byte[inputStream.available()];//新建一个字节数组 inputStream.read(b);//将文件中的内容读取到字节数组中 inputStream.close(); String str2 = new String(b);//再将字节数组中的内容转化成字符串形式输出 Map<String, String> map = Splitter.on('\n') .trimResults() .withKeyValueSeparator("=") .split(str2); System.out.println(map); System.out.println(map.get("userName")); } catch (IOException e) { e.printStackTrace(); } }

上述是我写的一个测试代码,你们可以抽出来写个工具类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
 * @Description: 类描述-加载外部配置文件
 * @Author junqi
 * @Date 2021/5/21
 **/
public class Fileupload {
 
    public static Map<String, String> fileupload() {
        Map<String, String> map = new HashMap<>();
        //加载外部配置文件
        String fileuploadPath = "";
        FileInputStream inputStream = null;
        {
            try {
                inputStream = new FileInputStream("certificate.properties");
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            try {
                byte[] b = new byte[inputStream.available()];//新建一个字节数组
                inputStream.read(b);//将文件中的内容读取到字节数组中
                inputStream.close();
                String str2 = new String(b);//再将字节数组中的内容转化成字符串形式输出
                map = Splitter.on('\n')
                        .trimResults()
                        .withKeyValueSeparator("=")
                        .split(str2);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return map;
    }
}

  


__EOF__

本文作者皮军旗
本文链接https://www.cnblogs.com/pijunqi/p/14144586.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   皮军旗  阅读(377)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示