Pointer 分配内存的 问题 很严重
我现在有个工程需要用java调用dll接口,我需要传递参数给dll接口,我先声明一个指针
Pointer pStr = new Pointer(MemoryBlockFactory.createMemoryBlock(1024*100000));
然后放入数据,这个数据大概有4K,
pStr.setStringAt(0, str);
然后我再取出这个数据:
String str2 = pStr.getAsString();
惊奇的发现 取回的数据 总会丢掉 原来数据的 最后 几个字节的数据, 比如 如果 str = "<?xml version=\"1.0\" encoding=\"gb2312\"?><ctx><Success>1</Success><tree></tree></ctx>";
str2 可能就是"<?xml version=\"1.0\" encoding=\"gb2312\"?><ctx><Success>1</Success>, 为什么呢,不管我传多大的数据,总会丢掉后面的数据、
哪位高手遇到过啊?很急!!!!!!!!!
------解决方案--------------------
1024*100000你这么大的空间,用pStr.getAsString()时,方法是怎么判定一个字符串的结束的,这个应该查一下相关文档。
------解决方案--------------------
学习了。。