Android JNI读取本地文件和读取文件并且写入其他文件
程序员文章站
2022-05-05 08:30:48
JNI 对文件读写操作:1.读取本地文件extern "C" JNIEXPORT void JNICALLJava_com_xinrui_ndkapp_MainActivity_readFile(JNIEnv *env, jobject instance,jstring str) { const char* path=env->GetStringUTFChars(str,JNI_FALSE); FILE* file = fopen(path,"r"); if(file==...
JNI 对文件读写操作:
1.读取本地文件
extern "C" JNIEXPORT void JNICALL
Java_com_xinrui_ndkapp_MainActivity_readFile(JNIEnv *env, jobject instance,jstring str) {
const char* path=env->GetStringUTFChars(str,JNI_FALSE);
FILE* file = fopen(path,"r");
if(file==NULL){
LOGE("file open failed");
}
char buffer[1024]={0};
while(fread(buffer, sizeof(char),1024,file)!=0){
LOGE("content:%s",buffer);
}
if(file!=NULL){
fclose(file);
}
env->ReleaseStringUTFChars(str,path);
}
2.读取文件并写入到其他文件
extern "C" JNIEXPORT void JNICALL
Java_com_xinrui_ndkapp_MainActivity_readwriteFile(JNIEnv *env, jobject instance,jstring source_str,jstring dest_str) {
const char* sourcestr = env->GetStringUTFChars(source_str,JNI_FALSE);
const char* deststr = env->GetStringUTFChars(dest_str,JNI_FALSE);
FILE * fp;
FILE * fd;
char buf[1024];
fp=fopen(sourcestr,"rw");
if(fp==NULL) {
LOGE("open source filed");
}
fd=fopen(deststr,"w");//当文件不存在时,自动创建该文件
if(fd==NULL) {
LOGE("open dest filed");
}
while(fgets(buf, sizeof(buf),fp)!=NULL){
fputs(buf,fd);
}
if(fp!=NULL){
fclose(fp);
}
if(fd!=NULL){
fclose(fd);
}
env->ReleaseStringUTFChars(source_str,sourcestr);
env->ReleaseStringUTFChars(dest_str,deststr);
}
本文地址:https://blog.csdn.net/baidu_41666295/article/details/107310860
上一篇: Android面试题
推荐阅读
-
python读取yaml文件后修改写入本地实例
-
Pandas基础(文件读取与写入、Series和Dataframe、常用基本函数、排序)
-
php实现读取和写入tab分割的文件
-
C#_Excel数据读取与写入_自定义解析封装类_支持设置标题行位置&使用excel表达式收集数据&单元格映射&标题映射&模板文件的参数数据替换(第二版-增加深度读取和更新功能)
-
C#操作xml文件:使用XmlDocument 实现读取和写入
-
Android JNI读取本地文件和读取文件并且写入其他文件
-
Python实现的读取文件内容并写入其他文件操作示例
-
PHP 文件写入和读取操作实例详解【必看篇】
-
在Python程序中进行文件读取和写入操作的教程
-
java文件读取和写入(文件读写java代码)