C#调用Java类的实现方法
一、将已经编译后的java中Class文件进行打包;打包命令JAR
如:将某目录下的所有class文件夹全部进行打包处理;
使用的命令:jarcvftest.jar-Ccom/.
其中test.jar为要生成的jar包;com/.为指定的当前目录下的文件夹,该文件夹包括子文件夹及class文件;
二、到IKVM官方网站下载IKVM需要的组件 http://www.ikvm.net/
ikvm-0.42.0.3.zip
ikvmbin-0.42.0.3.zip
openjdk6-b16-stripped.zip
三、设置路径
解压ikvm-0.42.0.3.zip,并将%IKVM_HOME%\bin添加到path中。此处的%IKVM_HOME%是指解压后ikvm的主目录。
四、将java的jar包转换为.dll控件
使用的命令:ikvmc-out:IKVM.dlltest.jar
其中IKVM.dll为将要生成的.dll控件文件名;test.jar为之前打包好的jar包文件。
五、在C#项目中添加所需的控件
%IKVM_HOME%\bin\IKVM.OpenJDK.Core.dll
%IKVM_HOME%\bin\IKVM.Runtime.dll
%IKVM_HOME%\bin\IKVM.Runtime.JNI.dll
将之前生成好的.dll文件加载到C#项目中
六、测试
在C#项目中使用java类,其方法同java。但对包的引用使用C#的语法using
源代码:
Java源代码:
packagecom.zht;
//要调用的Java类
publicclassTest{
//要调用的Java方法
publicStringreturnString(){
return"Hello,zht!";
}
}
C#窗体源代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingcom.zht;
namespaceKIVMTest
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
Testt=newTest();
stringstr=t.returnString();
MessageBox.Show(str);
}
}
}
结果:
启动C#窗口后,显示提示窗口,内容为:Hello,zht!
相关文章
- java强制删文件夹_Java 删除文件夹 和 文件 集合
- java中打印数组的方法_Java数组方法–如何在Java中打印数组
- java生成时间戳类型_Java获取当前时间戳的方法有哪些
- java locale 中国_Java描述语言、国家和地理的类——Locale
- java webservice实现_JAVA WebService的实现方式
- java 随机数算法_Java随机数算法原理与实现方法实例详解
- java常量池在方法区还是堆_JAVA常量池
- java验证手机号正则表达式_Java使用正则表达式验证手机号和电话号码的方法「建议收藏」
- ringbuffer java例子_Java RingBuffer.publish方法代碼示例「建议收藏」
- Java接口是什么意思_JAVA接口
- java mutator,Java – 使用Accessor和Mutator方法「建议收藏」
- java查找字符的方法_Java字符串查找(3种方法)
- 【Unity3D】Unity 中使用 C# 调用 Java ② ( C# 调用 Java 的相关方法介绍 | 调用 Java 方法 | 获取 Java 字段 | 设置 Java 字段 )
- java JNI: C 语言调用 Java 方法示例详解编程语言
- Java远程登录Linux服务器入门指南(java远程linux)
- 使用Java连接Linux服务器的简单方法(java连接linux)
- Java程序构建基于Redis的缓存系统(java用redis)
- 运行Linux中定时运行Java程序的实用方法(linux定时java)
- Java调用Linux库实现跨系统功能(java调用linux库)
- Java操作Linux系统:让命令行更轻松(java操作linux)
- Linux系统中下载Java的方法(linux下java下载)
- Java和Redis的配合安装方法(java redis安装)
- Linux下Java命令的使用方法简介(linux下java命令)
- Java编程在Linux上的应用(java编程 linux)
- 使用Java连接MySQL数据库的具体操作方法(java连接mysql代码)
- Java实现与Oracle数据库的无缝整合(java整合oracle)
- Java快速加载Oracle数据库(java加载oracle)
- 项目Java项目中展现Redis新型性能优势(redis运用在java)