属性文件的几种读取方法

编程技术  /  houtizong 发布于 3年前   66
属性文件的几种读取方法
1、说明
    在我们做项目过程中,总要涉及到针对属性文件的读取,把一些字符串常量定义在属性文件中,方便了我们平    时针对系统的维护。现在把几种常用的属性文件的读取方式总结一下。
2、读取方式
    1)
    通过ResourceBundle类,我们定义了
    dnrmMessages.properties
    这个属性文件:
    PERSPECTIVE_ID=com.jctx.dnrm.TrmsPerspective
    定义一个工具类文件
Message.javapackage 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 = newProperties();InputStream input = SimpleAgent.class.getResourceAsStream("mib.Properties");pr.load(input)

当读取属性文件时,用
pr.getProperty("key").trim()
即可获得所需要的value了。

以上总结了几种属性的读取方法,您如果还有其他好的方式,我们可以交流讨论一下。

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客