Как конвертировать JString в строку языка Go? - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь преобразовать Jstring в собственную строку Go, но не могу преобразовать это. На самом деле я создал файл JNI в Java, используя файл JNI, я создал файл заголовка в C ++ (файл .h). После этого я использую заголовочный файл в Go для вызова метода JNI. Я могу вызвать Go DLL через код Java, но я получаю пустую строку в 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
...