jni java String 转C char*工具类

原创 2015年07月07日 11:35:16
char*   Jstring2CStr(JNIEnv*   env,   jstring   jstr)
{
char*   rtn   =   NULL;
jclass   clsstring   =   (*env)->FindClass(env,"java/lang/String");
jstring   strencode   =   (*env)->NewStringUTF(env,"GB2312");
jmethodID   mid   =   (*env)->GetMethodID(env,clsstring,   "getBytes",   "(Ljava/lang/String;)[B");
jbyteArray   barr=   (jbyteArray)(*env)->CallObjectMethod(env,jstr,mid,strencode); // String .getByte("GB2312");
jsize   alen   =   (*env)->GetArrayLength(env,barr);
jbyte*   ba   =   (*env)->GetByteArrayElements(env,barr,JNI_FALSE);
if(alen   >   0)
{
 rtn   =   (char*)malloc(alen+1);         //"\0"
 memcpy(rtn,ba,alen);
 rtn[alen]=0;
}
(*env)->ReleaseByteArrayElements(env,barr,ba,0);  //
return rtn;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

转:java 匿名类(不能被忽略…

原文地址:http://hi.baidu.com/32647908/item/b128eb26fe80cbc9a5275a43 匿名内部类 ( 明白了匿名类就理解了函数回调,(此处与线程无关))有位老...
  • crxmai
  • crxmai
  • 2013年11月20日 16:13
  • 527

Ogre的相关工具和库 (转)

工具

C 语言二叉树实现示例(转)

//my_binary_tree.h --------------------------------------------------------------
  • dieqms
  • dieqms
  • 2014年11月13日 19:41
  • 229

[转]设置vim C的语法高亮及自动缩…

原文地址:http://linux.chinaunix.net/techdoc/desktop/2008/10/06/1036118.shtml vim简介 Vim(Vi Improved) ...

如何成为JAVA高手 [转]

原文地址:[转]">如何成为JAVA高手 [转]作者:bentley_lover 很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将  自己学习的一些经验写出来,以便...

转一篇很全的关于Java Socket…

源地址:http://www.cnblogs.com/jerrychoi/archive/2010/04/15/1712931.html Java学习总结之第十六章 Socket用法详解 ...
  • crxmai
  • crxmai
  • 2013年11月20日 16:13
  • 411

java 生成pdf文件(转,测试…

import java.awt.Color; import java.io.FileOutputStream; import org.apache.tools.ant.Main; import c...

Java 类的实例变量的初始化

一、Java 类的实例变量的初始化    实例变量初始化的三种情形:定义实例变量时,指定初值;非静态初始化块对实例变量指定初始值;构造器中对实例变量指定初始值。 1.1 构造函数初始化&非静态代码段初...
  • ytu1989
  • ytu1989
  • 2013年10月14日 15:08
  • 385
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jni java String 转C char*工具类
举报原因:
原因补充:

(最多只允许输入30个字)