我想制作一个使用Jni包装C++库的包装器。基本上,我有第三方库,它可以读取文件中的点(x,y,z)。所以,文件路径必须是输入参数。 我JNI是像
JNIEXPORT void JNICALL to_the_path_loadFile(JNIEnv *env, jobject obj,jstring filePath)
JNIEXPORT jdouble JNICALL to_the_path_getX(JNIEnv *env, jobject obj, jint index)
使用Jni包装C++库
第一种方法将加载文件,第二个将得到坐标x。
由于该文件具有大量的点,我无法将它们全部加载到内存中。 我的想法是使用迭代器迭代每个点并将其包装到Java对象。这意味着我必须多次致电getX()
。
我的问题是如何避免加载文件流很多次?我是新来的c + +,有没有一种方法,我可以参考回C++对象,所以我能够告诉我正在阅读哪一点?