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的更多相关文章
随机推荐
- windows中控制台窗口和普通窗口有什么区别?
1. 窗口都是windows标准窗口,有窗口句柄,但是console window没有消息循环,直接从缓冲区读数据,显示数据. windows中普通窗口都有自己的窗口过程, 我可以使用SetWindo ...
- 冒泡排序-python
题目: 如果一个list是一组打乱的数字 list1=[3,2,1,9,10,78,6] 如何用python将这组打乱的数字进行冒泡排序? 题解: def sort(nums): for i in r ...
- Laravel中创建控制器
<?php /** * Created by PhpStorm. * User: chuang * Date: 17-1-14 * Time: 下午4:29 */ namespace App\H ...
- [NSDate distantPast]使用
本文转载至 http://blog.sina.com.cn/s/blog_5f1967e00101ge0i.html 使用下面的方法: 关闭定时器不能使用invalidate方法,应该使用下面的方法 ...
- Oracle raw数据类型
RAW的声明方式为RAW(L),L为长度,以字节为单位,它存数的是16进制的数据.作为数据库列最大2000,作为变量最大32767字节. RAW类型的好处就是:在网络中的计算机之间传输 RAW 数据时 ...
- 最详细的PHP flush()与ob
buffer ---- flush()buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页.主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数据的区 ...
- recursion
w recursion nexttoken
- ArcGIS Server Q&A
持续更新.. 一. AGS Server10发布mobile data access 出现错误 问题描述: "ArcGIS Server: Configuration <name> ...
- 使用mybatis向oracle数据库插入数据异常
遇到了使用mybatis向oracle数据库插入数据异常的问题, 具体的报错如下:org.springframework.jdbc.UncategorizedSQLException: ### Err ...
- Linux中的输出重定向
标准输入输出: 键盘 /dev/stdin 0 标准输入 显示器 /dev/stdout 1 标准输出 显示器 /dev/st ...