OC_NSFileManager
案例1:通过文件扩展名进行搜索文件
- NSFileManager *manager = [NSFileManager defaultManager];
- /*
- 在Mac OS X系统有一个代表主目录的速记符号~(也成为代字符)。
- stringByExpandingTildeInPath将~替换成当前用户的主目录。
- enumeratorAtPath:返回一个NSDictionaryEnumerator,它是NSEnumerator的子类。每次在这个枚举器对象中调用nextObject时,都会返回该目录中一个文件的另一个路径。这个方法也能搜索子目录。
- */
- NSString *home = [@"~" stringByExpandingTildeInPath];
- //
- NSDirectoryEnumerator *direnum = [manager enumeratorAtPath:home];
- NSMutableArray *files = [NSMutableArray arrayWithCapacity:32];
- NSString *filename;
- NSLog(@"请输入要查询的文件类型:");
- char extension[10];
- scanf("%s",extension);
- //将C语言字符串转OC字符串
- NSString *exten = [NSString stringWithFormat:@"%s",extension];
- while (filename = [direnum nextObject]) {
- if ([[filename pathExtension]isEqualTo:exten]) {
- [files addObject:filename];
- }
- }
- NSEnumerator *fileenum;
- fileenum = [files objectEnumerator];
- while (filename =[fileenum nextObject]) {
- NSLog(@"%@",filename);
- }
案例2:通过文件名进行搜索文件
- #import <Foundation/Foundation.h>
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- NSFileManager *manager = [NSFileManager defaultManager];
- /*
- 在Mac OS X系统有一个代表主目录的速记符号~(也成为代字符)。
- stringByExpandingTildeInPath将~替换成当前用户的主目录。
- enumeratorAtPath:返回一个NSDictionaryEnumerator,它是NSEnumerator的子类。每次在这个枚举器对象中调用nextObject时,都会返回该目录中一个文件的另一个路径。这个方法也能搜索子目录。
- */
- NSString *home = [@"~" stringByExpandingTildeInPath];
- //获取主目录下的文件路径
- NSDirectoryEnumerator *direnum = [manager enumeratorAtPath:home];
- //声明一个足够大的数组来保存搜索到的文件路径
- NSMutableArray *files = [NSMutableArray arrayWithCapacity:100];
- NSString *path;
- NSLog(@"请输入要查询的文件名:");
- char fileName[10];
- scanf("%s",fileName);
- //字符串转NSString
- NSString *exten = [NSString stringWithUTF8String:fileName];
- while (path = [direnum nextObject]) {
- //对路径进行分割
- NSArray *array = [path pathComponents];
- NSString *obj;
- for(obj in array)
- {
- //对路径的分割部分进行检索,比对,如果等于要输入的文件名,进行另外保存
- if ([obj isEqualTo:exten]) {
- [files addObject:path];
- break;
- }
- }
- }
- //遍历搜索结果
- for(id obj in files)
- {
- NSLog(@"%@",obj);
- }
- }
- return 0;
- }
OC_NSFileManager的更多相关文章
随机推荐
- cocos2dx-3.0(前言)
说了好久,告诉自己要開始学cocos2dx(在心理里告诉了好久),然后养成良好习惯,记录自己学习cocos2dx的过程.一个是怕自己忘记.还有一个是更加让自己理解透彻(或许哪天我写的好了,组合一下出一 ...
- ROS导航之地图costmap_2d与bresenham算法
读者可以参读http://wiki.ros.org/costmap_2d costmap_2d: 无论是激光雷达还是如kinect 或xtion pro深度相机作为传感器跑出的2D或3D SLAM ...
- EasyUI怎么利用onBeforeRender事件
onBeforeRender事件是view的属性,该事件发生在把ajax请求到的数据填充到表格内容中之前 将此段代码附加在DataGrid初始化后执行,即可完成在DataGrid渲染之前进行操作 // ...
- 守护进程监控tomcat并自己主动重新启动
昨天的tomcat问题.一天挂了3,4回,受不了了决定写个监控tomcat进程并自己主动重新启动的脚本! 在网上查资料.主要分为两类:一类是定时重新启动tomcat,这当然不是我须要的.还有一类是监控 ...
- 微信公众平台开发:进阶篇(Web App开发入门)
本文转载至:http://blog.csdn.net/yual365/article/details/16820805 WebApp与Native App有何区别呢? Native App: 1.开 ...
- IOS学习笔记(五)——UI基础UIWindow、UIView
在PC中,应用程序多是使用视窗的形式显示内容,手机应用也不例外,手机应用中要在屏幕上显示内容首先要创建一个窗口承载内容,iOS应用中使用UIWindow.UIView来实现内容显示. UIWindow ...
- HDU3037 附Lucas简单整理
Saving Beans Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- 【BZOJ2186】[Sdoi2008]沙拉公主的困惑 线性筛素数
[BZOJ2186][Sdoi2008]沙拉公主的困惑 Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M! ...
- 《从零开始学Swift》学习笔记(Day 37)——默认构造函数
原创文章,欢迎转载.转载请注明:关东升的博客 结构体和类的实例在构造过程中会调用一种特殊的init方法,称为构造函数.构造函数没有返回值,可以重载.在多个构造函数重载的情况下,运行环境可以根据它的外部 ...
- influxDB---Data Exploration
the group clause group by 返回的分组结果是根据用户指定的tag ,time interval. 1.group by tags 2.group by time interva ...