private static CombinedConfiguration readConfig(){ try{ // 指定文件编码方式,否则properties文件读取中文会是乱码,要求文件编码是UTF-8 FileBasedConfigurationBuilder.setDefaultEncoding(PropertiesConfiguration.class, ENCODING); // 使用默认表达式引擎 DefaultExpressionEngine engine = new DefaultExpressionEngine(DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS); Configurations configs = new Configurations(); CombinedConfiguration config = configs.combined(ROOT_URL); config.setExpressionEngine(engine); // 设置同步器 config.setSynchronizer(new ReadWriteSynchronizer()); return config; }catch(Exception e){ throw new ExceptionInInitializerError(e); } } private static PropertiesConfiguration createUserConfig(){
private void loadZeidonIni( InputStream iniFile ) { if ( iniFile == null ) throw new ZeidonException( "Could not find " + iniFileName ); InputStreamReader reader = new InputStreamReader( iniFile ); try { DefaultExpressionEngine engine = new DefaultExpressionEngine( DefaultExpressionEngineSymbols.DEFAULT_SYMBOLS, NodeNameMatchers.EQUALS_IGNORE_CASE ); Parameters params = new Parameters(); FileBasedConfigurationBuilder<INIConfiguration> builder = new FileBasedConfigurationBuilder<INIConfiguration>( INIConfiguration.class ) .configure( params.hierarchical().setExpressionEngine( engine ) ); iniConfObj = builder.getConfiguration(); iniConfObj.read( reader ); reader.close(); sectionNameMap = new HashMap<>(); for ( String sectionName : iniConfObj.getSections() ) sectionNameMap.put( sectionName.toLowerCase(), sectionName ); } catch ( Exception e ) { throw ZeidonException.wrapException( e ).prependFilename( iniFileName ); } finally { IOUtils.closeQuietly( reader ); } }