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的更多相关文章
随机推荐
- asp.net源程序编译为dll文件并调用的实现过程
			
很多时候,我们需要将.cs文件单独编译成.dll文件,这就需要使用csc命令将.cs文件编译成.dll动态链接库文件.具体的操作步骤如下: 打开命令窗口->输入cmd到控制台->cd C: ...
 - asp.net 关于字符串内范围截取的一点方法总结
			
前两天有一位网友提出了一个字符串内截取字符串的问题,除了用普通的字符串截取的方式外,我推荐的是用LINQ方式来截取.两者实际上差别不是很大,都是采用字符串截取方式,但后者从写法和观察效果会比前者简单实 ...
 - Unity3D学习笔记——NGUI之Property Binding
			
Property Binding:用于绑定两个组件,然后可以将一个组件的信息发送给另一个组件. 效果图如下: 一:使用步骤 1.建立一个Sprite 2.建立一个Label 3.为Sprite添加Pr ...
 - Unity3D学习笔记——组件之Mesh(网格)
			
Mesh:网格组件.主要用于设置外形和外表. Mesh Filter:网格过滤器.就是为游戏对象添加一个外形. 例:设置外形为Sphere 如果获取的网格拥有蒙皮信患,Unity将自动创建一个skn ...
 - 【转】 VC++ 关闭程序后任务管理器进程中进程仍然存在的解决方法
			
转载出处:http://blog.csdn.net/zac_sian/article/details/50809084 可以从以下两个方面进行查找! 1.程序开启了进程,进程中使用了while(1), ...
 - hadoop集群加入新节点hhbase调试
			
一.改动vi /etc/hosts 添加节点ip.(没个节点都要加入 ) 二.设置hostname vi /etc/sysconfig/network 把hostname改为nod ...
 - 使用bbed编辑研究oracle数据块结构
			
bbed是随oracle软件公布的一款数据块查看和编辑工具,作为一款内部工具.bbed的功能很强大,可是假设使用不当可能给数据库造成无法挽回的损失.因此.我们建议在使用bbed改动数据块前备份被改动的 ...
 - ios如何在当前工程中添加编辑新建的FramesWork
			
本文转载至 http://www.apkbus.com/android-131519-1-1.html,感谢原文作者的分享. naniboy 该用户从未签到 可能很多大牛都见过FaceBo ...
 - Native VLAN打上标记
			
802.1Q和ISL都知道两者的区别在于前者对native vlan的流量不打标记,而后者统一都打标记. 配置成Native VLAN的Trunk端口,收到Native VLAN的帧后,不打标记直接从 ...
 - iOS学习笔记(七)——UI基础UIButton
			
前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实现是使用系统提供的各种控件 ...