JNI (Java Native Interface)是什么(5)

五.JNI中对Java传入数据的处理

如果传入的是bytearray的话,作如下处理得到buffer:

JNI (Java Native Interface)是什么

char *tmpdata = (char*)(*env)->GetByteArrayElements(env, bytearray, NULL);

JNI (Java Native Interface)是什么

(
*env)->ReleaseByteArrayElements(env, bytearray, tmpdata, 0);

六.JAVA调用本地接口后的数据处理问题
1. java得到的数据是String的话,直接处理就可以了。
2. 得到的如果是bytearray的话,作如下处理:

JNI (Java Native Interface)是什么

DataInputStream in = new DataInputStream(new ByteArrayInputStream(bytearray));

JNI (Java Native Interface)是什么

byte []byte1 = new byte[36]; 

JNI (Java Native Interface)是什么

in.read(byte1,
0,36);

JNI (Java Native Interface)是什么

String string 
= new String(byte1);

JNI (Java Native Interface)是什么

System.out.println(
"读出的第一个字段为:"+string);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwdsss.html