分别用Java和JS读取Properties文件内容

时间:2023-03-09 17:31:33
分别用Java和JS读取Properties文件内容

项目中经常用到的配置文件,除了XML文件之外,还会用到Properties文件来存储一些信息,例如国际化的设置、jdbc连接信息的配置等。有时候也会把一些路径或者sql语句放到Properties中,这样就不用直接在Java代码中放置很多sql语句,看起来代码比较整齐。下面就分别用java和js介绍读取properties中的内容。

properties文件存储内容,可以简单的认为是key-value格式的,设置一个唯一的关键字,通过该关键字就可以读取它所代表的内容,在Java代码和js代码中读取的原理都是这样的。

在Java中,主要是采用的java.util.Properties类来承接的。主要过程是创建一个Properties对象,然后以流的形式读取properties文件,将该文件赋给Properties对象,就可以通过Properties对象来读取properties文件中的内容了。

Java代码:

package com.at21.landscaping.util;
import java.io.InputStream;
import java.util.Properties; public class SyscfgUtil{ private Properties props; public Properties getProperties(){
if(props == null){
props = new Properties();
InputStream in;
try{
in = getClass().getResourceAsStream("/syscfg.properties");
props.load(in);
} catch (Exception e){
LogUtils.error(e);
}
}
}
}

用JS来读取properties文件,需要引入一个jQuery的插件jQuery.i18n.properties。这个插件主要是做国际化处理的,国际化一般是放到Properties文件中配置的,所以jquery提供了这个插件来读取properties文件。先把jquery引入js,再引入jquery.i18n.properties,将properties放置到某个位置,加上下面的代码就可以读取到了。

js代码:

function loadProperties(){
JQuery.i18n.properties({//加载properties文件
name:'syscfg',//properties文件的名称
path:'config/',//properties文件的路径
mode:'map',//用map的方式使用资源文件中的值
callback:function(){
console.log($.i18n.prop("landUrl"));//根据key值取得需要的资源
}
});
}

默认加载的时候,其实需要加载三个properties文件,分别是syscfg.properties、syscfg_zh.properties和syscfg_zh_CN.properties,其实就是因为国际化的处理。