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 ...
随机推荐
- Java知多少(87)选择框和单选按钮(转)
选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(J ...
- chrome主页被篡改为360该溶液的导航
昨天,安装游戏后,,发现chrome该主页被篡改为360导航. 进入chrome设置更改主页,再次启动chrome或360导航,后来头发今天chrome快捷方式目标再加上一堆的属性后面360网站导航, ...
- JProgressBar的一个框架
Frame: package swing.progress; import java.awt.BorderLayout; import java.awt.Frame; import java.awt. ...
- MVC简单的认识
学习一个新知识,首先要了解的就是以下几个问题,它是什么?它能干什么?使用它有什么优点?这篇文章就环绕这几个问题来展开讨论. mvc不是一种编程语言,严格来说.它都不算是一门技术.它是开发软件时使用的一 ...
- Visual Studio Team Services使用教程--默认团队checkin权限修改
- Java Web系列:Spring Boot 基础 (转)
Spring Boot 项目(参考1) 提供了一个类似ASP.NET MVC的默认模板一样的标准样板,直接集成了一系列的组件并使用了默认的配置.使用Spring Boot 不会降低学习成本,甚至增加了 ...
- Nginx并发訪问优化
Nginx反向代理并发能力的强弱,直接影响到系统的稳定性.安装Nginx过程,默认配置并不涉及到过多的并发參数,作为产品执行,不得不考虑这些因素.Nginx作为产品执行,官方建议部署到Linux64位 ...
- 微软MVP社区夏日巡讲诚邀您的参与: 北京,上海,西宁,成都,西安
- swift 笔记 (十九) ——
协议
协议(Protocols) 协议仅是用定义某些任务或者是功能必须的方法和属性. 类似于java里的interface的作用.但协议并不会实现详细的功能. 我猜这个名字源于OO中提到的"契约& ...
- 移动开发 Native APP、Hybrid APP和Web APP介绍
高速区分定义: Native App 以基于智能手机本地操作系统如IOS.Android.WP并使用原生程式(SDK)编写执行的须要用户安装使用的第三方应用程序; Web APP 以HTML+JS+C ...