首页 > 代码库 > 【Foundation】NSFileManager文件操作.02

【Foundation】NSFileManager文件操作.02

1.文件目录操作

 // 1.创建文件操作对象fm,并打印出当前目录        NSFileManager *fm=[NSFileManager defaultManager];                // 获取当前目录        NSLog(@"当前目录:%@",[fm currentDirectoryPath]);                ///2014-04-01 13:58:20.523 NSFileManager[1161:303] 当前目录:/Users/haiyefeng/Library/Developer/Xcode/DerivedData/NSFileManager-biurdpictydvbnfanzflyhtwgvxy/Build/Products/Debug                                // 2.创建新目录【在目录中创建一个文件夹】        NSString *dirName=@"/Users/haiyefeng/Desktop/新建文件夹1";        if([fm createDirectoryAtPath:dirName withIntermediateDirectories:YES attributes:nil error:NULL]==NO)        {            NSLog(@"无法创建文件夹!");            return 1;        }        else        {            NSLog(@"创建文件夹成功");            //在桌面创建了一个新建文件夹1        }                // 3.重命名目录名称       NSString *dirName2=@"/Users/haiyefeng/Desktop/新建文件夹2";        if([fm moveItemAtPath:dirName toPath:dirName2 error:NULL]==NO)        {            NSLog(@"文件夹重命名失败!");            return 2;        }        else {            NSLog(@"文件夹重命名成功!");                        //将文件夹目录下的新建文件夹1重命名为新建文件夹2        }        // 4.、改变fm所指向的目录地址为新目录newDir        if([fm changeCurrentDirectoryPath:@"newDir"]==NO)        {            NSLog(@"进入文件夹失败!");            return 3;        }                //显示当前目录        NSString *path=[fm currentDirectoryPath];        NSLog(@"当前目录%@",path);        NSLog(@"所有操作已经完成!");                ///2014-04-01 13:58:20.612 NSFileManager[1161:303] 当前目录/Users/haiyefeng/Library/Developer/Xcode/DerivedData/NSFileManager-biurdpictydvbnfanzflyhtwgvxy/Build/Products/Debug/newDir        ///2014-04-01 13:58:20.612 NSFileManager[1161:303] 所有操作已经完成!

 

 

2.目录遍历列表

// 创建文件处理对象fm        NSFileManager *fm=[NSFileManager defaultManager];                // 测试目录        NSString *path=@"/Users/haiyefeng/Desktop";                // 1.使用“目录列举器”        NSDirectoryEnumerator *myDirectoryenumerator=[fm enumeratorAtPath:path];                // 列举目录内容        NSLog(@"用enumeratorAtPath:显示的目录%@的内容",path);        while ((path=[myDirectoryenumerator nextObject])!=nil)        {            NSLog(@"%@",path);        }

 

(2).另外一种遍历方法

// 2、 用另外一种办法列举目录内容        NSString *  path2=@"/Users/haiyefeng/Desktop";           //旧版方法      //  NSArray *dirctoryCountents1=[fm directoryContentsAtPath:path2];           //新版方法        NSArray * directoryCountents2=[fm contentsOfDirectoryAtPath:path2 error:NULL];        NSLog(@"用directoryContentsAtPath:显示目录%@的内容:",path2);        for (path2 in directoryCountents2)     {            NSLog(@"%@",path2);     }

 

 

3.目录管理

// 获取并且显示临时目录        NSString *temporaryDirectory=NSTemporaryDirectory();        NSLog(@"临时目录为:%@",temporaryDirectory);                ///2014-04-01 14:54:29.857 路径操作[1544:303] 临时目录为:/var/folders/cm/ch_b5n9x2q7741ntvq4jlmpc0000gn/T/                                NSFileManager *myfileManager=[NSFileManager defaultManager];                // 从当前目录路径中获取基目录        NSString *path=[myfileManager currentDirectoryPath];        NSLog(@"基本目录为:%@",[path lastPathComponent]);                        // 获取文件main.m的完整路径        NSString *fileName=@"main.m";        NSString *fullPath=[path stringByAppendingPathComponent:fileName];        NSLog(@"完整路径为:%@",fullPath);                        // 获取完整路径fullPath红的拓展名        NSString *extension=[fullPath pathExtension];        NSLog(@"拓展名为%@",extension);                                // 获取用户的主目录        NSString *homeDirectory=NSHomeDirectory();        NSLog(@"用户主目录为:%@",homeDirectory);                // 获取用户的主目录路径拆分,并且分别显示出来        NSArray *components=[homeDirectory pathComponents];        for (NSString *pathComponent in components) {            NSLog(@"%@",pathComponent);        }                // 将简略路径转换成标准路径        NSString *uPath=@"~/Desktop/Sample/Sample/main.m";        NSLog(@"%@=>%@",uPath,[uPath stringByStandardizingPath]);

 

 

4.列举目录操作

1)

// 创建文件处理对象fm        NSFileManager *fm=[NSFileManager defaultManager];    NSString *  path2=@"/Users/haiyefeng/Desktop";                //旧版方法      //  NSArray *dirctoryCountents1=[fm directoryContentsAtPath:path2];                //新版方法        NSArray * directoryCountents2=[fm contentsOfDirectoryAtPath:path2 error:NULL];        NSLog(@"用directoryContentsAtPath:显示目录%@的内容:",path2);        for (path2 in directoryCountents2) {            NSLog(@"%@",path2);    }

 

2)

 // 创建文件处理对象fm        NSFileManager *fm=[NSFileManager defaultManager];                // 测试目录        NSString *path=@"/Users/haiyefeng/Desktop";                // 1.使用“目录列举器”        NSDirectoryEnumerator *myDirectoryenumerator=[fm enumeratorAtPath:path];                // 列举目录内容        NSLog(@"用enumeratorAtPath:显示的目录%@的内容",path);        while ((path=[myDirectoryenumerator nextObject])!=nil)        {            NSLog(@"%@",path);        }