Java

C#调用Java示例代码分享

小樊
117
2024-07-13 20:50:28
栏目: 编程语言

在C#中调用Java代码可以通过使用Java Native Interface(JNI)来实现。以下是一个示例代码,演示了如何在C#中调用Java方法:

// Java代码
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello from Java!");
    }
}
// C#代码
using System;
using System.Runtime.InteropServices;

public class HelloWorldTest {
    [DllImport("jvm.dll")]
    private static extern void JNI_CreateJavaVM(out IntPtr pJVM, out IntPtr penv, IntPtr args);

    public static void Main(string[] args) {
        IntPtr pJVM, penv;
        JNI_CreateJavaVM(out pJVM, out penv, IntPtr.Zero);

        // 调用Java方法
        // 创建一个Java类对象
        IntPtr cls = JNIEnv.FindClass(penv, "HelloWorld");
        // 获取方法签名
        IntPtr methodID = JNIEnv.GetStaticMethodID(penv, cls, "main", "([Ljava/lang/String;)V");
        // 调用Java方法
        JNIEnv.CallStaticVoidMethod(penv, cls, methodID);

        // 释放资源
        JNIEnv.DestroyJavaVM(pJVM);
    }
}

请注意,上面的示例代码中使用了JNI来调用Java的方法。JNI是一种用于在Java和本地代码之间进行交互的技术,需要提前配置好Java环境和JNI库。在C#中调用Java方法需要使用JNI提供的方法来实现。

0
看了该问题的人还看了