android ndk通过遍历和删除文件
api遍历目录》。因为android ndk平台属于linux系统,所以该方式是无法使用的。通过查找linux下文件管理相关资料,顺利实现了文件遍历与删除功能,以下为对应代码。须要包括<dirent.h>头文件。
// 删除指定文件夹内全部文件
JNIEXPORT void JNICALL Java_com_test_util_T_deleteFiles(JNIEnv *env, jclass obj, jstring fileFolder)
{
const char *file_folder = (*env)->GetStringUTFChars(env, fileFolder, 0); DIR *pDir = NULL;
struct dirent *dmsg;
char szFileName[128];
char szFolderName[128]; strcpy(szFolderName, file_folder);
strcat(szFolderName, "/%s");
if ((pDir = opendir(file_folder)) != NULL)
{
// 遍历文件夹并删除文件
while ((dmsg = readdir(pDir)) != NULL)
{
if (strcmp(dmsg->d_name, ".") != 0 && strcmp(dmsg->d_name, "..") != 0)
{
sprintf(szFileName, szFolderName, dmsg->d_name);
remove(szFileName);
}
}
} if (pDir != NULL)
{
closedir(pDir);
} (*env)->ReleaseStringUTFChars(env, fileFolder, file_folder);
}
long hFile = 0;
struct _finddata_t file_info;
hFile = _findfirst("test\\*", &file_info);
while (_findnext(hFile, & file_info) == 0)
{
if (strcmp(file_info. name, ".") != 0 && strcmp(file_info. name, "..") != 0)
{
printf("%s\n", file_info.name);
}
else
{
printf("%s\n", "invalid");
}
}
_findclose(hFile);
版权声明:本文博客原创文章,博客,未经同意,不得转载。
android ndk通过遍历和删除文件的更多相关文章
- PHP遍历、删除文件夹中的所有文件
<?php header("Content-type:text/html;charset=utf-8"); /** * getDirFile 遍历文件夹中的所有文件 * @p ...
- Android NDK开发指南---Application.mk文件和android.mk文件
https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/OVERVIEW.TXT https:// ...
- Android NDK 初探,生成so文件以及调用so文件方法
因为最近业务上涉及安全的问题 然后有一些加密解密的方法和key的存储问题 本来想存储到手机里面,但是网上说一般敏感信息不要存储到手机Sdcard上 而且我这个如果从网络建立通信获取的话,又太耗时,所以 ...
- 谈谈Android NDK中动态链接库(.so文件)的优化
做了不少NDK相关的工作,不知道别人有没有同样的困惑,经常在编译C/C++代码的时候会出一些error或者warning,然后在网上搜,发现在Android.mk或者Application.mk文件中 ...
- android NDK jni下的c文件 Unresolved inclusion
原因是在eclipse编辑环境中没有找到对应的include中的文件.解决方法是将包含该文件的include目录作为新的linked folder加入工程中.具体方法如下:1. 右击工程->Ne ...
- 下面就介绍下Android NDK的入门学习过程(转)
为何要用到NDK? 概括来说主要分为以下几种情况: 1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大. 2. 在NDK中调用第三方C/C++库,因为大部分的开源库 ...
- (转)Android: NDK编程入门笔记
转自: http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html 为何要用到NDK? 概括来说主要分为以下几种情况: 1. 代 ...
- android NDK编译(导入).a文件和编译多个so文件(转)
源:android NDK编译(导入).a文件和编译多个so文件 一.编译一个静态库 libstatic_android.a LOCAL_PATH := $(call my-dir) include ...
- 移动混合开发之android文件管理新建文件和删除文件
今天经过一天超过8小时的实践,有很多CSS上的细节需要注意: 1, /*注意是对before的操作*/ .content ul li .icon-check-empty:before{ display ...
随机推荐
- Git显示漂亮日志的小技巧
Git的传统log如下所示,你喜欢吗? 看看下面这个你喜不喜欢?(点击图片看大图) 要做到这样,命令行如下: 1 git log --graph --pretty=format:'%Cred%h%Cr ...
- web报告工具FineReport在使用方法和解决方案常见错误遇到(一)
FineReport在使用方法和解决方案常见错误遇到(一) 这里写的开胃菜.我希望我们能理清自己的问题和解决办法干出来的,Mark一点点.有利于所有. 失败搜索出,如果有一个文件,看看你的度娘那里.看 ...
- sqlite 中文排序
看 http://www.cnblogs.com/08shiyan/archive/2012/05/11/2496491.html 这个方法 不太好用 最好的办法是 表添加pinyin字段. 插入数据 ...
- 什么是Cyclomatic Complexity(圈复杂度)?
Campwood Software SourceMonitor Version 3.5 The freeware program SourceMonitor lets you see inside y ...
- Ubuntu Linux中开启MySQL远程访问功能
为了给服务器一个真实的运行环境,今天在内网中部署了一台Ubuntu Linux服务器,其中最头疼的就是MySQL的安装,apt下载更新的速度太慢了,于是就自行编译了一下MySQL的源码,具体的编译方法 ...
- Dapper的使用
轻量型ORM框架Dapper的使用 /// <summary> /// 查询操作 /// </summary> /// <typeparam name="T&q ...
- VIM
初步
按i前插入字符.a在光标后追加字符 ctrl+d将光标下称半个窗体.按Ctrl+u将光标上移半个窗体 在输入模式下:ctrl+h删除字符,ctrl+u删除行.ctrl+w删除字 命令模式下.x删除字符 ...
- inner join on, left join on, right join on
1.定义: inner join(等值连接) : 仅仅返回两个表中联结字段相等的记录 left join(左联接) :返回包含左表中的全部记录和右表中联结字段相等的记录 right join(右联接) ...
- 移动端 rem字体的使用demo
<!doctype html> <html> <head> <meta charset="utf-8"> <title ...
- .Net async
概述 先吐个槽,.NET的TPL框架,以及这篇文章想要表述的async await关键字,都是.NET语言层面本身支持的一种异步框架,代表其在编译时是可以最大化的被优化,作为内部DSL来说,.NET一 ...