我的客户给了我一些功能。其中两个如下:
int getText(void* page, wchar_t*& pTextOut);
int getTextJson(void* page, char*& jsonData);
我正在使用JNA,我想在我的界面中编写等效的Java方法:
int getText(Pointer pdfPage, ?? textOutput);
int getTextJson(Pointer pdfPage, ?? jsonData);
不幸的是,以下内容会返回垃圾
Pointer outputTextPointer = outputText.getPointer();
String outputStre = outputTextPointer.getString(0, "UTF-8");
以下返回和IndexOutOfBoundsException
Pointer outputTextPointer = outputText.getPointer();
String outputStre = outputTextPointer.getStringArray(0);
任何人都可以推荐使用正确的java类来映射类型wchar_t *&和char *&或者如何正确获取数据?
由于 达明
答案 0 :(得分:0)
以下映射对我来说正常工作
int getText(Pointer page, PointerByReference pTextOut);
int getTextJson(Pointer page, PointerByReference jsonData);
然后我使用以下内容获取数据
PointerByReference pTextOut = new PointerByReference();
getText(page, pTextOut);
System.out.println(pTextOut.getValue().getWideString(0));