在RCP中,资源文件的读取非常重要。以前都是通过Properties的加载流来实现的。
今天看别人的源码发现了NLS这个东东,翻阅了下dearwolf等大牛的相关文章总结了下应用方法,blog在这里,以供自己参考。
Eclipse 3.1提供了新的资源文件访问方式,就是通过osgi.util.NLS类。具体方法是构造一个NLS的子类,如下:
资源文件的内容还是和以前一样:
HELLO_WORLD=Hello world!
HELLO_SOMETHING=Hello {0}!
在程序里使用资源的方式如下:
System.out.println(MyMessages.HELLO_WORLD);
System.out.println(MyMessages.bind(MyMessages.HELLO_SOMETHING,"world"));
今天看别人的源码发现了NLS这个东东,翻阅了下dearwolf等大牛的相关文章总结了下应用方法,blog在这里,以供自己参考。
Eclipse 3.1提供了新的资源文件访问方式,就是通过osgi.util.NLS类。具体方法是构造一个NLS的子类,如下:
public class MyMessages extends NLS {
//这里定义了属性文件的名字
private static final String BUNDLE_NAME = "gr.scharf.MyMessages"; //$NON-NLS-1$
//这两个属性在属性文件中会有同名属性对应
public static String HELLO_WORLD;
public static String HELLO_SOMETHING;
//静态段,在这个类第一次被调用的时候加载,初始化此类中的两个字段
static {
// initialize resource bundles
NLS.initializeMessages(BUNDLE_NAME, MyMessages.class);
}
}
资源文件的内容还是和以前一样:
HELLO_WORLD=Hello world!
HELLO_SOMETHING=Hello {0}!
在程序里使用资源的方式如下:
System.out.println(MyMessages.HELLO_WORLD);
System.out.println(MyMessages.bind(MyMessages.HELLO_SOMETHING,"world"));