java读取配置文件的几种方法

告别裸奔MCU!手把手教你用MCP2515+STM32搭建稳定CAN总线通信(附完整代码) 本文详细介绍了如何使用MCP2515与STM32搭建稳定可靠的CAN总线通信系统,适用于汽车电子和工业控制领域。通过硬件架构设计、驱动层实现、数据收发实战及故障排查手册,帮助开发者快速掌握CAN通信技术,提升系统稳定性和开发效率。 阅读详情

java读取配置文件的几种方法

        在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法。
一.读取xml配置文件
(一)新建一个java bean(HelloBean.java)
java 代码
  1. package chb.demo.vo;   
  2.   
  3. public class HelloBean {   
  4.  private String helloWorld;   
  5.   
  6.  public String getHelloWorld() {   
  7.   return helloWorld;   
  8.  }   
  9.   
  10.  public void setHelloWorld(String helloWorld) {   
  11.   this.helloWorld = helloWorld;   
  12.  }   
  13. }   
  14.   

(二)构造一个配置文件(beanConfig.xml)

xml 代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2. >  
  3. <beans>  
  4.  <bean id="helloBean" class="chb.demo.vo.HelloBean">  
  5.   <property name="helloWorld">  
  6.    <value>Hello!chb!value>  
  7.   property>  
  8.  bean>  
  9. beans>  

(三)读取xml文件

1.利用ClassPathXmlApplicationContext
java 代码
  1. ApplicationContext context = new ClassPathXmlApplicationContext("beanConfig.xml");   
  2. HelloBean helloBean = (HelloBean)context.getBean("helloBean");   
  3. System.out.println(helloBean.getHelloWorld());  
2.利用FileSystemResource读取
java 代码
  1. Resource rs = new FileSystemResource("D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml");   
  2.   BeanFactory factory = new XmlBeanFactory(rs);   
  3.   HelloBean helloBean = (HelloBean)factory.getBean("helloBean");\   
  4.   System.out.println(helloBean.getHelloWorld());   
 值得注意的是:利用FileSystemResource,则配置文件必须放在project直接目录下,或者写明绝对路径,否则就会抛出找不到文件的异常
二.读取properties配置文件
这里介绍两种技术:利用spring读取properties 文件和利用java.util.Properties读取
(一)利用spring读取properties 文件
我们还利用上面的HelloBean.java文件,构造如下beanConfig.properties文件:
properties 代码
  1. helloBean.class=chb.demo.vo.HelloBean   
  2. helloBean.helloWorld=Hello!chb!  
属性文件中的"helloBean"名称即是Bean的别名设定,.class用于指定类来源。
然后利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader来读取属性文件
java 代码
  1. BeanDefinitionRegistry reg = new DefaultListableBeanFactory();   
  2.  PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg);   
  3.  reader.loadBeanDefinitions(new ClassPathResource("beanConfig.properties"));   
  4.  BeanFactory factory = (BeanFactory)reg;   
  5.  HelloBean helloBean = (HelloBean)factory.getBean("helloBean");   
  6.  System.out.println(helloBean.getHelloWorld());   
 
(二)利用java.util.Properties读取属性文件
比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,如:
properties 代码
  1. ip=192.168.0.1   
  2. port=8080  
则,我们可以用如下程序来获得服务器配置信息:
java 代码
  1. InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ipConfig.properties");   
  2.   Properties p = new Properties();   
  3.   try {   
  4.    p.load(inputStream);   
  5.   } catch (IOException e1) {   
  6.    e1.printStackTrace();   
  7.   }   
  8. System.out.println("ip:"+p.getProperty("ip")+",port:"+p.getProperty("port"));  
本文只介绍了一些简单操作,不当之处希望大家多多指教


import java.io.FileInputStream;   
import java.io.FileNotFoundException;   
import java.io.FileOutputStream;   
import java.io.IOException;   
import java.io.InputStream;   
import java.util.Properties;   
  
import org.apache.commons.logging.Log;   
import org.apache.commons.logging.LogFactory;   
  
  
/** *//**  
* 读取properties文件  
* @author Qutr  
*  
*/  
public class Configuration   
{   
    private static final Log log = LogFactory.getLog(Configuration.class);   
    private Properties propertie;   
    private FileInputStream inputFile;   
    private FileOutputStream outputFile;   
    private String propsFile = "src/com/util/headerProp.properties";//配置文件路径   
    /** *//**  
     * 初始化Configuration类  
     */  
    public Configuration()   
    {   
        propertie = new Properties();   
    }   
       
    /** *//**  
     * 初始化Configuration类  
     * @param filePath 要读取的配置文件的路径+名称  
     */  
    public Configuration(String filePath)   
    {   
        propertie = new Properties();   
        try {   
            inputFile = new FileInputStream(filePath);   
            propertie.load(inputFile);   
            inputFile.close();   
        } catch (FileNotFoundException ex) {   
            System.out.println("读取属性文件--->失败!- 原因:文件路径错误或者文件不存在");   
            ex.printStackTrace();   
        } catch (IOException ex) {   
            System.out.println("装载文件--->失败!");   
            ex.printStackTrace();   
        }   
    }//end ReadConfigInfo()   
       
    /** *//**  
     * 重载函数,得到key的值  
     * @param key 取得其值的键  
     * @return key的值  
     */  
    public String getValue(String key)   
    {   
        if(propertie.containsKey(key)){   
            String value = propertie.getProperty(key);//得到某一属性的值   
            return value;   
        }   
        else    
            return "";   
    }//end getValue()   
       
    /** *//**  
     * 重载函数,得到key的值  
     * @param fileName properties文件的路径+文件名  
     * @param key 取得其值的键  
     * @return key的值  
     */  
    public String getValue(String fileName, String key)   
    {   
        try {   
            String value = "";   
            inputFile = new FileInputStream(fileName);   
            propertie.load(inputFile);   
            inputFile.close();   
            if(propertie.containsKey(key)){   
                value = propertie.getProperty(key);   
                return value;   
            }else  
                return value;   
        } catch (FileNotFoundException e) {   
            e.printStackTrace();   
            return "";   
        } catch (IOException e) {   
            e.printStackTrace();   
            return "";   
        } catch (Exception ex) {   
            ex.printStackTrace();   
            return "";   
        }   
    }//end getValue()   
       
    /** *//**  
     * 清除properties文件中所有的key和其值  
     */  
    public void clear()   
    {   
        propertie.clear();   
    }//end clear();   
       
    /** *//**  
     * 改变或添加一个key的值,当key存在于properties文件中时该key的值被value所代替,  
     * 当key不存在时,该key的值是value  
     * @param key 要存入的键  
     * @param value 要存入的值  
     */  
    public void setValue(String key, String value)   
    {   
        propertie.setProperty(key, value);   
    }//end setValue()   
       
    /** *//**  
     * 将更改后的文件数据存入指定的文件中,该文件可以事先不存在。  
     * @param fileName 文件路径+文件名称  
     * @param description 对该文件的描述  
     */  
    public void saveFile(String fileName, String description)   
    {   
        try {   
            outputFile = new FileOutputStream(fileName);   
            propertie.store(outputFile, description);   
            outputFile.close();   
        } catch (FileNotFoundException e) {   
            e.printStackTrace();   
        } catch (IOException ioe){   
            ioe.printStackTrace();   
        }   
    }//end saveFile()   
    /** *//**  
     * 通过key得到value  
     * @param key  
     */  
    public String getProp(String key) {   
        String retVal = null;   
        InputStream is = getClass().getResourceAsStream(propsFile);   
        Properties props = new Properties();   
        try {   
            props.load(is);   
            retVal = props.getProperty(key);   
            if(retVal == null)retVal="";   
        } catch (Exception e) {   
            log.error(e.getMessage().toString());   
            return null;   
        }   
        return retVal;   
    }   
       
}//end class ReadConfigInfo

ESP32设备驱动-VCNL4040趋近传感器 VCNL4040 将趋近传感器 (PS)、环境光传感器 (ALS) 和高功率 IRED 集成到一个小型封装中。它通过CMOS工艺将光电二极管、放大器和模数转换电路集成到一个芯片中。 阅读详情

相关推荐

点云特征提取的实战对比:Voxel-based 与 Pillar-based 在自动驾驶中的表现

本文深入对比了自动驾驶中点云特征提取的两种主流方法:Voxel-based与Pillar-based。Voxel-based方法通过三维体素化保留完整几何信息,检测精度高,但计算消耗大;Pillar-based方法将点云压缩为二维柱状特征图,牺牲部分垂直细节以换取极高的处理速度,更适合实时性要求高的量产场景。文章结合实战数据,为不同算力、精度与工程需求的场景提供了清晰的选型指南。

weixin_29045001的博客 226

JAVA读取配置文件

读取Java配置文件属性为您提供了一种灵活、可配置和可维护的方式来管理应用程序的属性。它使您能够动态地调整应用程序的行为,并为应用程序提供了更高的安全性和可移植性。

weixin_62015493的博客 674

CNC雕刻与VCarve Pro实战:将三维地形数据转化为木质景观时钟

计算机辅助制造(CAM)是现代数字制造的核心技术之一,它通过软件将设计模型转化为机床可执行的指令,驱动设备进行精准加工。其原理在于将三维模型离散为刀具运动路径(G代码),控制铣刀等执行机构进行“减材”成型。这项技术的价值在于实现了复杂三维形体的高精度、可重复制造,极大地拓展了创意实现的边界。在应用场景上,CAM广泛应用于模具加工、原型制作、个性化工艺品制造等领域。本文聚焦于一个具体实践:利用VCarve Pro软件,结合从在线地图服务获取的真实地形STL数据,通过CNC雕刻机在硬木上加工出具有真实地理特征的

weixin_30651345的博客 379

java 读取读取配置文件

@Test public void test2() throws Exception { Properties pros = new Properties(); //此时的文件默认在当前的module下。 //读取配置文件的方式一: // FileInputStream fis = new FileInputStream("jdbc.properties"); // FileInputStream fis = ne...

小坏说Java,一个专注Java微服务架构的实战,Java全栈教程,SpringBoot, SpringCloud微服务到分布式、高并发架构,大数据开发,运维实战,K8S、Docker容器为一体的教程,结合企业级内部的技术栈学习 1万+

element的el-cascader组件动态加载,以及报错处理问题

Blocked aria-hidden on an element because its descendant retained focus. The focus must not be hidden from assistive technology users. 报错处理

weixin_56527169的博客 1265

NX二次开发(python)-坯料尺寸(一)

一般在产品制造过程中,往往要判断一个模型在出模方向上的最小包容盒尺寸,在NX中可以用坯料尺寸命令实现,当然也有相应的代码实现,这或许可以帮助我们实现一些产品的坯料尺寸批量输出,节省人力。

dasfanfan的博客 823

Java中读取properties配置文件的八种方式总结

【代码】Java中读取properties配置文件的八种方式总结。

ღ᭄ꦿℒℴѵℯ青城এ⁵²º的博客 6129

[cadence]Allegro STEP-3D模型导入、匹配、导出的方法及注意事项

如果 Avaliable里面没有和symbols对应的文件,说明没有对应的3D模型,这时候需要在你的step路径下创建y与 .dra 封装文件相同名称的。选择好 Output file 和 name 之后呢,点击 Export。首先打开Setup - Step Package Mapping。注意:路径中不能有中文名称,有的话你会发现不能导出,也不会报错。在路径下将下载或者自己做的 3D模型文件改名之后,重新打开。可在View -> 3D View。

LuDvei的博客 2万+

Java读取properties配置文件的8种方式汇总

Properties 类位于 java.util.Properties中,是Java 语言的处理配置文件所使用的类,其中的xxx.Properties类主要用于集中的持久存储Java的配置文件内容,可以读取后缀是.properties和.cfg的配置文件。Properties类调用setProperty方法将键值对保存到内存中,此时可以通过getProperty方法读取,propertyNames方法进行遍历,但是并没有将键值对持久化到属性文件中,故需要调用store方法持久化键值对到属性文件中。

cuisidong1997的博客 3265

从UART到RS485:手把手教你用SIT3485E收发器搞定工业级通信(含原理图与PCB布局要点)

本文详细解析了从UART到RS485的工业级通信转换,重点介绍了SIT3485E收发器的原理图设计、PCB布局要点及抗干扰技巧。通过差分信号传输和优化电路设计,实现长距离、多设备稳定通信,适用于工业自动化等复杂环境。

weixin_29169505的博客 352

SMMU软件指南SMMU编程之流表(Stream Table)

SMMU使用一组内存中的数据结构来定位翻译数据,详见“转换过程概述”(Translation process overview)。SMMU_(*_)STRTAB_BASE 存储初始结构(流表,Stream Table)的基地址。流表项(Stream Table Entry, STE)包含二级(Stage 2)转换表的基址指针,同时也定位一级(Stage 1)配置结构,这些配置结构包含转换表的基址指针。 传入事务的 StreamID,由 SEC_SID 进行限定,决定了用于查找的流表,并定位相应的STE。

AI-安全-功耗 1192

java获取配置文件_JAVA读取配置文件的方法

JAVA读取配置文件的方法普通java项目1、classLoader//主要通过当前类的加载器加载classpath下的资源文件,局限是classpath下的//getResourceAsStream的路径相当于${classpath}/ 参数相对于这个路径来的Properties properties = new Properties();InputStream in = PaySupportU...

weixin_39631755的博客 1305

SAP ABAP Web Service 的创建与消费:保姆级教程

SOAP 定义了消息的格式和传输规则,使得 Web Service 可以在不同的操作系统和网络环境中通信。通过 WSDL,服务的提供者可以明确地定义服务的功能,而服务的使用者则可以通过解析 WSDL 文件,了解如何正确地调用该服务。它封装了与 Web 服务通信的所有复杂性,如消息格式的构建、传输协议的选择、请求的发送和响应的处理等。除了本文介绍的 ABAP 编程语言之外,我们还可以通过 Java,Node.js,C++,C#,Python 等其他编程语言来消费本文创建的 ABAP Web Service.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 715

java读取.properties配置文件的几种方法

读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法(仅仅是我知道的): 一、通过jdk提供的java.util.Properties类。 此类继承自java.util.HashTable,即实现了Map接口,所以,可使用相应的方法来操作属性文件,但不建议使用像put、putAll这两个方法,因为put方法不仅允许存入String类型的value,还可以存入O

痴人说梦 7万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Java读取配置文件的几种方法

在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法。 一、读取xml配置文件 (一)新建一个java bean package chb.demo.vo; public class HelloBean { private String...

98

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java中几种读取配置文件的方法

java配置文件读取方式

hcy19970721的博客 3420

java读取linux配置文件_Java读取配置文件的几种方法

在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法。一、读取xml配置文件(一)新建一个Java beanpackage chb.demo.vo;public class HelloBean {private String helloWorld;public String...

weixin_36127579的博客 946

【Java】读取/加载 properties配置文件的几种方法

说明 在java项目中经常会使用到配置文件,这里就介绍几种加载配置文件的方法 目录结构 我是使用的maven搭建的项目,resources其实就是在根目录下 配置文件很简单 一、 基于ClassLoader读取配置文件 注意:有局限性 只能在类路径下比较方便 Properties properties = new Properties(); // 注意这里的路径是根据根目录写的 InputSt...

菜鸟sdut的博客 3121

【持续更新】几种java中读取配置文件的方法

  背景:          在开发过程中,经常会碰到需要用到读取配置文件内容从而达到目的,故在此列几种我自己用到过的读取方法,记录一下,也方便大家查阅方便。   情景:          在使用过程中看情况使用,如果是springboot项目的话,最好直接用方法二,没有springboot可以用方法1结合方法3,将方法一中的 String str = "E:/ssl/ssl.pro...

weixin_42258128的博客 2470

Java中spring读取配置文件的几种方法

在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法。     一、读取xml配置文件     (一)新建一个java bean package chb.demo.vo; public class HelloBean {  private St

逝者如风 5812
上一篇: 如何导入android中的sample例子
下一篇: Android应用程序的调试
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值