Re: About FileXXXputStream 's implementation
To Gordon,Thomas:
Thanks for your help and suggestion.
On 11=D4 17=C8=D5, =CF =CE=E79=CA=B123=B7=D6, Thomas Fritsch
<i.dont.like.s...@invalid.com> wrote:
=C8=CA=D5=DF=CE=DE=B5=D0 schrieb:> On 11=D4 17=C8=D5, =CF =CE=E78=CA=
=B119=B7=D6, Thomas Fritsch
<i.dont.like.s...@invalid.com> wrote:
=C8=CA=D5=DF=CE=DE=B5=D0 schrieb:
what's the native initIDs method of it used for?The initID method typic=
ally gets some JNI method IDs of the
FileXXXStream class and stores them somewhere in the C code. Later,
other native methods of the class can use these cached method IDs to
call the non-native methods of the class.
By using the first two, I'm sorry,
"env" and "jobject"
en,but initIDs is a static native method, lack the "jobject"...You don'=
t need it for getting method or field IDs.
however,
this method is only called once in the static area,what did it store
in C code?It might do for example look below:
#include "FileInputStream.h"
static jmethodID readMethodID;
static jmethodID closeMethodID;
void Java_FileInputStream_initIDs(JNIEnv *env, jclass c)
{
readMethodID = env->GetMethodID(env, c, "read", "()I");
closeMethodID = env->GetMethodID(env, c, "close", "()V");
}void Java_FileInputStream_exampleMethod(JNIEnv *env, jobject obj)
{
env->CallVoidMethod(env, obj, closeMethodID);
}By the way: If you want a deeper understanding of JNI, I suggest you
work through Sun's JNI tutorial and/or a text-book.
--
Thomas