随笔 - 24  文章 - 0 评论 - 0 阅读 - 6447
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

1、基于ClassLoader读取配置文件
优点是:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息。
缺点:只能加载类classes下面的资源文件。
注意:该方式只能读取类路径下的配置文件,有局限但是如果配置文件在类路径下比较方便。
相对路径, properties文件需在classpath目录下,
比如:config.properties在包com.test.config下,
路径就是/com/test/config/config.properties
 
1 Properties properties = new Properties();
2 // 使用ClassLoader加载properties配置文件生成对应的输入流
ClassLoader loader = Thread.currentThread().getContextClassLoader();
if (loader == null) {
loader = GameServer.class.getClassLoader();
}
InputStream inputStream = loader.getResourceAsStream("config/gameServer.properties");
3 InputStream in = PropertiesMain.class.getClassLoader().getResourceAsStream("config/config.properties");
4 // 使用properties对象加载输入流5
properties.load(in);
6 //获取key对应的value值7 
 properties.getProperty(String key);
 
2、基于 InputStream 读取配置文件
注意:该方式的优点在于可以读取任意路径下的配置文件
使用缓冲输入流读取配置文件,然后将其加载,再按需操作
绝对路径或相对路径, 如果是相对路径,则从当前项目下的目录开始计算,
如:当前项目路径/config/config.properties,
相对路径就是config/config.properties
1 Properties properties = new Properties();
2 // 使用InPutStream流读取properties文件3
BufferedReader bufferedReader = new BufferedReader(new FileReader("E:/config.properties"));
4 properties.load(bufferedReader);
5 // 获取key对应的value值6 properties.getProperty(String key);
 
3. 根据文件名使用spring中的工具类进行解析
 * filePath是相对路径,文件需在classpath目录下
 * 比如:config.properties在包com.test.config下,
 * 路径就是com/test/config/config.properties
Properties properties1 = PropertiesLoaderUtils.loadAllProperties("config/gameServer.properties");
System.out.println(properties1.getProperty("game.serever.id"));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted on   jeolyli  阅读(225)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示