FileWakler这是一个查找文件的小项目,不过里面用到了许多知识点。
NSAutoreleasePool * pool = [[NSAutoreleasePoolalloc]init];//自动释放池
NSFileManager *manager;
manager=[NSFileManagerdefaultManager];//创建文件管理对象
NSString *home;
home=[@"~"stringByExpandingTildeInPath]; //将“~”替换成当前用户的主目录
NSDirectoryEnumerator *direnum;
direnum=[managerenumeratorAtPath:home]; //枚举返回该目录中一个文件的另一个路径
NSMutableArray *files;
files=[NSMutableArrayarrayWithCapacity:42]; //创建一个可变数组,然后把匹配路径添加进去
NSString *filename;
while (filename=[direnumnextObject]) { //循环向枚举器请求它下一个对象。这里时返回文件路径NSString的字符串
if([[filenamepathExtension]isEqualTo:@"jpg"]) //输出文件名的扩展名,并去掉前面的“.“后和jpg比较
{
[files addObject:filename]; //添加到数组中
}
}
NSEnumerator *fileenum;
fileenum=[files objectEnumerator]; //把数组放进枚举
while (filename=[fileenum nextObject]) {//遍历枚举
NSLog(@"%@",filename); //输出文件名
}
[pool drain];
这里用到快速枚举,实际上和foreach基本类似
for(NSString *filenamein [manageenumeratorAtPath:home])
{
if([[filenamepathExtension]isEqualToString:@"jpg"])
[files addObject:filename];
}
for(NSString *filename in files)
{
NSLog(@"%@",filename);
}
本章主要还是学习了这几个常用类的一些特殊用法。