在C#中调用 java的函数(C#与java结合使用)

本文详细介绍了如何在 C# 中调用 Java 函数的完整流程,包括 Java 代码的编写、编译为 DLL 文件、在 C# 工程中引用并调用 Java 方法。通过简单的示例演示了从 Java 到 C# 的集成过程,旨在帮助开发者掌握跨语言调用的基本技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#中调用 java的函数:

一、简要步骤:

首先,编写 java代码,并用java编译工具编译生成jarclass

然后,使用 ikvmc jarclass文件编译成DLL文件;

最后,建立C#工程,调用DLL

二、准备工作:

1、  IKVM官方网站http://www.ikvm.net/下载IKVM需要的组件:

(实际下载的网址是:http://sourceforge.net/projects/ikvm/files/

File/Folder Name

Size

Date

Downloads

openjdk6-b12-stripped.zip

30.8 MiB

Fri Jun 05 2009 16:20

1,338

ikvmbin-0.40.0.1.zip

11.8 MiB

Fri Jun 05 2009 13:29

2,966

ikvm-0.40.0.1.zip

15.3 MiB

Fri Jun 05 2009 13:27

2,246

 

2、  mono官方网站(http://www.go-mono.com/mono-downloads/download.html)下载:

mono-2.4.2.3-gtksharp-2.12.9-win32-3.exe。该文件较大,有70M。下载该文件的主要目的是提取其中的IKVM.OpenJDK.ClassLibrary.dll,该文件有30M。(当然也可以在Google上搜索下载。)

3、解压ikvm-0.40.0.1.zip,然后将其中的bin目录的全路径添加到Path环境变量中;

4、安装mono-2.4.2.3-gtksharp-2.12.9-win32-3.exe,然后在其路径下找到IKVM.OpenJDK.ClassLibrary.dll,默认是:C:/ProgramFiles/Mono-2.4.2.3/lib/mono/ikvm

5、将在第34步中找到的以下四个DLL拷出存放,目的是便于C#工程引用:

IKVM.OpenJDK.ClassLibrary.dll

IKVM.OpenJDK.Core.dll

IKVM.Runtime.dll

IKVM.Runtime.JNI.dll

准备工作完毕。

三、测试实例:(很简单的代码)

1、  建立一文本文件:demo.java,输入代码如下:

packagetest;

public classdemo

{

    publicString Message = "Hello fromJava!";//java 属性

    publicString Function()//java 方法

    {

      Stringstr1="Test ";

      Stringstr2="OK!";

      returnstr1+str2;

    }

}

2、进入CMDcddemo.java所在路径:

先执行:javac   demo.java

再执行:ikvmc  demo.class

至此,应该已经生成 demo.dll 文件了。

2、  新建C#Form程序,在“解决方案”--“引用”中添加demo.dll和上面所提到的四个IKVMdll

3、  在按钮的响应事件中添加如下代码:

        private void button1_Click(object senderEventArgs e)

        {

            test.demo td new test.demo();

            MessageBox.Show(td.Message);

            MessageBox.Show(td.Function());//调用java的方法

        }

 4、编译,运行,OK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值