2011-06-06 9 views
11
HANDLE hFile = CreateFileA("C:\\myfile.zip", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 
const int size = GetFileSize(hFile, NULL); 
char* buffer = new char[size]; 
DWORD read; 
ReadFile(hFile, buffer, size, &read, NULL); 

jclass cls = ...; 
jmethodID id = ...; 

jbyteArray arr = env->NewByteArray(size); 
env->GetByteArrayRegion(arr, 0, size, (jbyte*) buffer); 
env->CallStaticVoidMethod(cls, id, arr); 

समस्या यह है कि बाइट सरणी जावा पक्ष में सिर्फ अशक्त बाइट का है है है किसी को भी क्यों पता नहीं है?JNI: जावा के लिए सी ++ से बाइट्स गुजर

संपादित करें: ओह मेरा बुरा यह सेटबेटअरेरेगियन होना चाहिए, क्षमा करें! सब अब काम कर रहा :)

उत्तर