Jython访问Java属性文件的方法一览

开发 后端
本文介绍了Jython访问Java属性文件的方法。在Jython中可以通过loadProperties 和getProperty 函数做到这一点。

为何需要Jython访问Java属性文件

使用Jython的过程中经常需要访问Java属性文件以得到配置信息。Jython 可以用loadProperties 和getProperty 函数做到这一点,如下所示:

def loadProperties (source):  
    """ 将Java属性文件加载入词典 """ 
    result = {}  
    if type(source) == type(''):    # name provided, use file  
        source = io.FileInputStream(source)  
    bis = io.BufferedInputStream(source)  
    props = util.Properties()  
    props.load(bis)   
    bis.close()  
    for key in props.keySet().iterator():  
        result[key] = props.get(key)  
    return result  
 
def getProperty (properties, name, default=None):  
    """ 取得一个属性 """ 
    return properties.get(name, default)  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

Jython访问Java属性文件示例

所以,假如使用的是访问Java属性文件 中的函数,如下所示:

import sys     
file = sys.argv[1]     
props = loadProperties(file)     
print "Properties file: %s, contents:" % file      
print props     
print "Property %s = %i" % ('debug', int(getProperty(props, 'debug''0')))    
 
import sys  
file = sys.argv[1]  
props = loadProperties(file)  
print "Properties file: %s, contents:" % file   
print props  
print "Property %s = %i" % ('debug', int(getProperty(props, 'debug''0')))  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

并且这些函数具有如下属性文件内容:

# 一个示例用属性文件     
debug = 1    
error.level = ERROR     
now.is.the.time = false    
 
# 一个示例用属性文件  
debug = 1 
error.level = ERROR  
now.is.the.time = false  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

那么,得到的输出就会是:

Properties file: test.properties, contents:     
{'error.level''ERROR''debug''1''now.is.the.time''false'}     
Property debug = 1 
  • 1.
  • 2.
  • 3.

以上就是Jython访问Java属性文件的实现方法。

【编辑推荐】

  1. 用于Jython连接Java的JavaUtils模块
  2. Jython线程示例:定义共享缓冲区
  3. 与Java语言相比Jython开发的独特性能
  4. 与Java相比Jython性能表现
  5. 在代码中深入学习Jython语法
责任编辑:yangsai 来源: 网络
相关推荐

2010-09-14 13:13:12

sql server备

2021-06-08 09:47:44

Java面向对象

2009-07-09 17:40:26

Java运算符

2010-11-15 09:55:35

Oracle转换函数

2011-01-11 09:53:28

linux进程

2011-01-11 10:06:14

linux进程

2019-04-26 14:21:34

手机色彩苹果

2023-11-08 07:45:47

Spring微服务

2009-08-17 17:19:00

ASP.NET缓存数据

2009-03-03 20:44:06

桌面虚拟化Xendesktop虚拟化

2017-03-06 16:34:12

虚拟个人助理

2010-10-14 16:55:00

MySQL联结查询

2020-02-17 15:29:00

石墨文档

2014-08-11 11:19:53

Java虚拟机Java

2009-06-22 17:20:33

J2EE框架

2009-09-28 10:58:31

Google新搜索特性

2012-02-20 09:06:20

JVM

2013-10-18 14:23:21

Ubuntu 13.1Kbuntu 13.1

2011-05-26 10:27:37

Fedora 15

2017-04-25 17:29:24

点赞
收藏

51CTO技术栈公众号