Java中读取配置文件中参数:

方法一:通过JDK中Properties来实现对配置文件的读取。

  Properties主要用于读取Java的配置文件,不同的编程语言有自己所支持的配置文件,配置文件中很多变量是经常改变的,为了方便用户的配置,能让用户够脱离程序本身去修改相关的变量设置。就像在Java中,其配置文件常为.properties文件,是以键值对的形式进行参数配置的。

1、配置文件的设置

sysName StefanieSun
sysChinesName=孙燕姿
sysBirthday:1976-07-02
#空格、:、= 三种方式均可表示键值对的存在。

2、新建读取类

public class SystemProperties{
  //设置配置文件路径
  private final static String urlPath1 = "cn/com/yitong/util/system.properties";
  private final static String urlPath2 = "src/main/java/cn/com/yitong/util/system.properties";
  private fianl static Properties properties = new Properties();   方法1:使用classLoader来获取相对目录下文件(文件必须同SystemProperties同目录下;路径见"图1";此文件地址无需精确至"src/main/java/cn/com/yitong/util/system.properties",因为是同
      SystemProperties同目录)
  static{
    try{
      InputStream inputStream = ClassLoader.getSystemResourceAsStream(urlPath1);
      properties.load(inputStream);
      //properties.load(new InputStreamReader(ClassLoader.getSystemResourceAsStream(urlPath), "UTF-8"));方法类似
    }catch(IOExecption e){
      e.printStackTrace();
    }  
  }   方法2:使用BufferedReader来读取配置文件。可以读取任意路径下的配置文件,并非一定同SystemProperties类同目录(此方法读取任意文件下配置文件,故相对路径为相对路径下的精确路径[需要相对精确的路
     径来确定文件])
  static{
    try{
      BufferedReader bufferedReader = new BufferedReader(new FileReader(urlPath2));
      properties.load(bufferedReader);
    }catch(IOException e ){
      e.printStackTrace();
    }
  }   
  获取value值方法:
  
  public static String getValue(String key){
    return properties.getProperty(key).trim();
  }
  
  //通过key获取值,若值为null则返回defaultValue
  public static String getValue(String key,String defaultValue){
    return properties.getProperty(key,defaultValue);
  }
}

图1

3、测试类:

public class SystemPropertiesText {

    public static void main(String[] strings) {
   System.err.println(SystemProperties.getValue("sysName"));
  }
}

方法二:通过ResourceBundle直接读取并取值

  方法一中读取配置文件的时候支持多种格式的配置文件(properties,md等),而ResourceBundle只能读取.properties格式文件。ResourceBundle主要用于获取文件国际化、本地化(详细内容请自行搜索了解,此处不过多说明)。

1、配置文件信息同方法一

2、此方法不需要特定的java类来编写,可直接获取。

public class SystemPropertiesText{
public static void main(String[] s){
    String urlPath = "cn/com/yitong/util/system.properties";
    ResourceBundle resourceBundle = ResourceBundle.getBundle(urlPath);     
    System.err.println(resourceBundle.getString("sysName"));
  }
}

Java工程中如何读取配置文件中参数信息的更多相关文章

  1. Java中读取配置文件中的内容,并将其赋值给静态变量的方法

    应用场景 项目开发中某个功能需要抽取成方法写成一个工具类,提供给别人使用.写过工具类的人都知道,工具类中的方法一般都是静态方法,可以直接使用类名点方法名调用, 使用很方便,比如判断某个对象是否为空的方 ...

  2. java.util.Properties 读取配置文件中的参数

    用法 getProperty方法的返回值是String类型. java.util.Properties 读取配置文件中的参数 //读取配置文件 FileInputStream inStream = n ...

  3. springboot读取配置文件中的信息

    在一个项目中,我们有时候会把一些配置信息写入到一个配置文件中,在java代码中读取配置文件的信息.在此记录下读取属性文件中的内容. 在springboot项目中,springboot的配置文件可以使用 ...

  4. JAVA使用相对路径读取配置文件

    JAVA使用相对路径读取配置文件[align=center][/align][size=medium][/size]   在软件开发中经常遇到读取配置文件,以及文件定位问题.今天做个总结.   (一) ...

  5. mybatis 中的 xml 配置文件中 ‘<’、 ‘>’ 处理

    mybatis 中的 xml 配置文件中 '<'. '>' 处理 1.使用转义字符将 '<'. '>' 替换掉. 描述 字符 转义字符 小于号 < < 大于号 &g ...

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

    Spring读取配置XML文件分三步: 一.新建一个Java Bean: package springdemo; public class HelloBean { private String hel ...

  7. 使用 java.util.Properties 读取配置文件中的参数

    配置文件格式 如下的配置参数格式都支持: Key = ValueKey = Key:ValueKey :Value 用法 getProperty方法的返回值是String类型. //读取配置文件 Fi ...

  8. java后台读取配置文件中key与value -----demo

    public class ResourcesUtils { /* * @description:根据属性获取文件名 * * @param:propertyName文件的属性名 * * @return: ...

  9. JavaWeb中servlet读取配置文件的方式

    我们在JavaWeb中常常要涉及到一些文件的操作,比如读取配置文件,下载图片等等操作.那我们能不能采用我们以前在Java工程中读取文件的方式呢?废话不多说我们来看看下我们以前在Java工程中读取文件是 ...

随机推荐

  1. Java自学路线图之Java框架自学

    Java自学路线图的框架分为两个阶段,第一阶段的Java框架包含六个内容:MyBatis,Spring,SpringMVC,Maven高级,Git,Dubbo. 在Java自学过程中掌握框架的使用,对 ...

  2. 029.核心组件-Controller Manager

    一 Controller Manager原理 1.1 Controller Manager概述 一般来说,智能系统和自动系统通常会通过一个"控制系统"来不断修正系统的工作状态.在K ...

  3. Gorm 预加载及输出处理(二)- 查询输出处理

    上一篇<Gorm 预加载及输出处理(一)- 预加载应用>中留下的三个问题: 如何自定义输出结构,只输出指定字段? 如何自定义字段名,并去掉空值字段? 如何自定义时间格式? 这一篇先解决前两 ...

  4. 如何在vue中修改动态标签中的样式和修改组件库样式

    vue中修改动态标签中的样式和修改组件库样式 因为vue中的标签在渲染的时候,都会给标签加上id 所以你想在<style lang="scss" scoped>直接修改 ...

  5. Linux学习第六天

    学习Linux环境下的挂载命令. 什么是挂载命令? 1.Windows下,mount挂载,就是给磁盘分区提供一个盘符(C,D,E,...).比如插入U盘后系统自动分配给了它I:盘符其实就是挂载,退优盘 ...

  6. 控制游戏/app使用期限/过期,证书有效期,弹出公告支持离线使用/后端控制,支持Swift、Objective-C集成非常简单,永久免费框架

    CertCheck.framework (for iOS) 只能运行于真机上,切勿在模拟器上使用 这是一个控制游戏/app使用期限(到设定的时间无法打开app),或发布弹出公告永久免费的框架,可以全版 ...

  7. JAVA正则-检验QQ是否合法

    /* * 0不能开头,全数字,位数5-10位 * 123456 */ public static void checkQQ(){ String QQ = " 123456 "; / ...

  8. pycharm创建虚拟环境venv和添加依赖库package

    1.创建虚拟环境 因为项目采用不同版本的python,所依赖的库的版本也不一样,为了避免版本冲突,为每一个项目每个python版本创建一个虚拟环境,环境中所使用的依赖库也是独立存在,不会被其他版本或其 ...

  9. Unity 随机房间地图生成

    无论是在迷宫还是类似于地牢的游戏地图中,利用程序来生成每次都不一样的地图是一件叫人兴奋不已的事. 这时我们需要解决两个非常重要的随机事件: 1.在一定范围内随机出各不相同但又不能互相重叠的房间 2.优 ...

  10. 北邮oj 97. 二叉排序树

    97. 二叉排序树 时间限制 1000 ms 内存限制 65536 KB 题目描述 二叉排序树,也称为二叉查找树.可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 若左子树非空,则左子树上所有节 ...