Java 读取属性文件

// messages.hello.properties id=001 name=惜缘 love=I think,therefor i am. friends=Hi! {0} and {1} ,how are you? // org.PropertiesUtil.java package org; import java.io.UnsupportedEncodingException; import java.text.MessageFormat; import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; public class PropertiesUtil { private static String encoding = "UTF-8"; /** * read the message with key from the resource bundle * @param bundlePath * @param key * @return */ public static String getString(String bundlePath,String key){ return getString(bundlePath,key,null); } /** * read the message with key from the resource bundle * @param bundlePath * @param key * @param args * @return */ public static String getString(String bundlePath,String key,Object[] args){ // we will throw a MessingResourceException if the bundle name is invalid ResourceBundle bundle = getBundle(bundlePath); try{ String msg = bundle.getString(key); if(msg == null){ return ""; } // change the message encoding msg = convertISO(msg); return msg = MessageFormat.format(msg, args); } catch(MissingResourceException e){ return ""; } } /** * get ResourceBundle with bundlePath * @param bundlePath * @return * @throws MissingResourceException if resource is messing */ private static ResourceBundle getBundle(String bundlePath){ Locale locale = Locale.getDefault(); ResourceBundle bundle = ResourceBundle.getBundle(bundlePath,locale,getClassLoader()); return bundle; } /** * get the current ClassLoader * @return */ protected static ClassLoader getClassLoader(){ return PropertiesUtil.class.getClassLoader(); } /** * convert msg encoding * @param msg * @return */ public static String convertISO(String msg){ if(msg != null){ try{ return new String(msg.getBytes("iso-8859-1"),getEncoding()); } catch(UnsupportedEncodingException e){ e.printStackTrace(); } } return ""; } /** * get encoding * @return */ public static String getEncoding() { return encoding; } /** * set encoding * @param encoding */ public static void setEncoding(String encoding) { PropertiesUtil.encoding = encoding; } } // test.PropertiesUtilTest.java package test; import org.PropertiesUtil; public class PropertiesUtilTest { public static void main(String[] args) { final String BUNDLE_PATH = "messages.hello"; String id = PropertiesUtil.getString(BUNDLE_PATH, "id"); String name = PropertiesUtil.getString(BUNDLE_PATH, "name"); String love = PropertiesUtil.getString(BUNDLE_PATH, "love"); String friends = PropertiesUtil.getString(BUNDLE_PATH, "friends", new Object[]{"boy","girl"}); System.out.println(id); System.out.println(name); System.out.println(love); System.out.println(friends); } } // console out 001 惜缘 I think,therefor i am. Hi! boy and girl ,how are you?

MATLAB主动噪声振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理与实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制鲁棒控制策略,提升了系统在复杂环境下的稳定性控制精度,适用于需要高精度噪声与振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声与振动控制、信号处理、自动化等相关领域的研究生工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证与仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值