jpython调用java类的模板
使用JPype模块让Python调用JAVA的类
Python idea! 2009-03-24 19:44 阅读267 评论0
字号: 大大 中中 小小
看看例子就知道啦,真是为Python(不是Jython,而是CPython)提供了强大力量!
首先在java下建立一个再也简单不过的包:
package org.wg3i.test;
class Test {
private String msg;
public Test() {
}
public void speak(String msg) {
System.out.println(msg);
}
public void setString(String s) {
msg = s;
}
public String getString() {
return msg;
}
}
在Python下使用JPype模块来调用我们刚刚生成的java包:
import jpype
import os.path
jarpath = os.path.join(os.path.abspath('.'), 'build/jar')
jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % jarpath)
Test = jpype.JClass('org.wg3i.test.Test') # 取得包org.wg3i.test中的类Test
t = Test() # 创建Test实例
t.speak("This is a test message") # 尝试调用类的一个方法
t.setString("Hello, World") #给定String
s = t.getString() # 获取String
print s
jpype.shutdownJVM()
下面来介绍下如何调用包而不是具体的一个类:
import jpype
import os.path
classpath = os.path.join(os.path.abspath('.'), 'build/classes')
jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % classpath)
testPkg = jpype.JPackage('org').wg3i.test # 取得包
Test = testPkg.Test # 取得类
t = Test() # 创建Test实例
t.speak("This is a test message") # 尝试调用类的一个方法
t.setString("Hello, World") &nbs
相关文档:
1.//property文件的读取
//com.test.message文件
package com.test;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
public class Test_Messages {
private static final String BUNDLE_NAME = "com.test.messages";
private static final ResourceBundle RESOURCE_BUNDLE = Reso ......
Java异常处理总结
异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if...else...来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地方出现,那么你每个地方都要做相同处理,感觉相当 ......
前言
Java的路径问题,非常难搞。最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决Java路径问题。
我编写了一个方法,比 ClassLoader.getResource(String 相对路径)方法的能力更强。它可以接受“../”这样的参数,允许我们用相 ......
/**
*
*/
package com.dongyun.peas2.system.web.action;
///**
// * @author Administrator
// *
// */
//public class ABcom {
//
// /**
// *
// */
// public ABcom() {
// // TODO Auto-generated constructor stub
// }
//
// /**
//&nb ......
系统属性是指与用户程序相关的操作系统配置信息以及软件信息。通常与用户程序相关的属性关键字包括:
●file.separator:文件分隔符,Windows环境下为“",Unix环境下为“/”;
●user.home:用户主目录;
●java.home:Java实时运行环境的安装目录;
●java.ext.dirs:JDK的安装目 ......