溫馨提示×

C#調(diào)用Java示例代碼分享

小樊
91
2024-07-13 20:50:28
欄目: 編程語言

在C#中調(diào)用Java代碼可以通過使用Java Native Interface(JNI)來實(shí)現(xiàn)。以下是一個(gè)示例代碼,演示了如何在C#中調(diào)用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);

        // 調(diào)用Java方法
        // 創(chuàng)建一個(gè)Java類對象
        IntPtr cls = JNIEnv.FindClass(penv, "HelloWorld");
        // 獲取方法簽名
        IntPtr methodID = JNIEnv.GetStaticMethodID(penv, cls, "main", "([Ljava/lang/String;)V");
        // 調(diào)用Java方法
        JNIEnv.CallStaticVoidMethod(penv, cls, methodID);

        // 釋放資源
        JNIEnv.DestroyJavaVM(pJVM);
    }
}

請注意,上面的示例代碼中使用了JNI來調(diào)用Java的方法。JNI是一種用于在Java和本地代碼之間進(jìn)行交互的技術(shù),需要提前配置好Java環(huán)境和JNI庫。在C#中調(diào)用Java方法需要使用JNI提供的方法來實(shí)現(xiàn)。

0