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的更多相关文章
随机推荐
- Python 爬虫实战5 模拟登录淘宝并获取所有订单
经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 本篇内容 python模拟登录淘宝网页 获取登录用户的所有订单详情 ...
- C# 持续序列化对象追加到文件的方法
最近有个需求,将内存和帧数数据序列化到二进制文件.为了节省内存,采用了100个对象的数组,每次存满就序列化到文件,然后归零继续存,以追加的性式继续序列化到原有文件. 这样相当于多个数组对象存在了同一个 ...
- SlidingMenu官方实例分析7——SlidingContent和SlidingTitleBar区别
包含ActionBar:setSlidingActionBarEnabled(true); 效果图: 不包含ActionBar:setSlidingActionBarEnabled(false); 效 ...
- SharePoint服务器端对象模型 之 访问网站和列表数据(Part 1)
本节将会介绍SharePoint中最为常用的一些对象模型,以及如何使用这些对象模型来访问和操作网站中的数据.几乎所有的SharePoint服务器端开发都会涉及到这些内容,因此应着重掌握本节中所介绍的基 ...
- 数据库几种连接方式的(左右union all)
A表 id name 1 bai 2 zhang 3 li B表 a_id score 1 80 2 70 1 30 左连接: select A.* ,B.* from A a left outer ...
- FTP上传和下载文件的应用
FTP(File Transfer Protocol)协议主要用来在网络上进行文件传输.FTP通讯除了有一个默认的端口21外,还有其他端口,同城两个端口同时进行数据传输.一个是默认的端口(通常为21) ...
- pycharm中格式标准化代码
点击之后,可以使代码标准化
- General Decimal Arithmetic 浮点算法
General Decimal Arithmetic http://speleotrove.com/decimal/ General Decimal Arithmetic [ FAQ | Decima ...
- DOM 查找标签
1.直接查找 document.getElementById // 根据ID获取一个标签 document.getElementsByClassName //根据class属性获取 document. ...
- 教你管理SQL实例系列(1-15)
全系列转自:51CTO ->jimshu http://jimshu.blog.51cto.com 目录及原本连接如下: 教你管理SQL实例(1)数据库实例 教你管理SQL实例(2)服务启动帐户 ...