⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nativelib.~c

📁 学习JAVA编程的示例
💻 ~C
字号:
#include <jni.h>
#include <sys/types.h>
//#include <sys/ipc.h>
#include "ReadFile.h"
//#include <sys/shm.h>
//#include <sys/mman.h>
#include <sys/stat.h>
#include <fcntl.h>
//#include <unistd.h>
#include <stdio.h>

JNIEXPORT jbyteArray JNICALL Java_nativemethod_ReadFile_loadFile
        (JNIEnv *env, jobject jobj, jstring name) {
/*        caddr_t m;*/
        AddRef m;
        jbyteArray jb;
        jboolean iscopy;
        struct stat finfo;
        const char *mfile = (*env)->GetStringUTFChars(env, name, &iscopy);
        int fd = open(mfile, O_RDONLY);
        if (fd == -1) {
                printf("Could not open %s\n", mfile);
        }
/*        lstat(mfile, &finfo);
        m = mmap((caddr_t)0, finfo.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
        if (m == (caddr_t)-1) {
                printf("Could not mmap %s\n",mfile);
                return(0);
        }   */
        jb = (*env)->NewByteArray(env, finfo.st_size);
        (*env)->SetByteArrayRegion(env, jb, 0, finfo.st_size, (jbyte *)m);
        close(fd);
        (*env)->ReleaseStringUTFChars(env, name, mfile);
        return(jb);
        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -