如何将JString转换为Go语言字符串?

时间:2019-04-01 10:43:17

标签: java c go java-native-interface

我正在尝试将Jstring转换为本地Go字符串,但是无法转换。实际上,我已经使用Java创建了JNI文件,通过使用JNI文件,我已经在c ++中创建了头文件(.h文件)。之后,我在Go中使用头文件来调用JNI方法。我可以通过Java代码调用Go DLL,但在Go中却得到一个空字符串。

//Go Code:
    //''''''''''''''''''''''''''''''
    //export Java_CallingMethodjni_
     func Java_CallingMethodjni_(env *C.JNIEnv, clazz C.jclass, certtype 
    C.jstring, filepath C.jstring) C.jstring {
     fmt.Println("CallingJava_CallingMethodjni_jni_CallingMethodjni...")
     fmt.Print(string(filepath))
     // unable to read file path
     var js string = string(filepath)
   }
  //'''''''''''''''''''''''''''''''''''''''''''''''''''''''
//C++ header :
   // '''''''''''''''''''''''''''''''''''''''

#include <jni.h>

#ifndef _Included_CallingMethodjni_
#define _Included_CallingMethodjni_
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT jstring JNICALL Java_CallingMethodjni_
(JNIEnv *env, jobject obj, jstring javaString, jstring javaString1);
#ifdef __cplusplus
}
#endif
#endif

0 个答案:

没有答案