码迷,mamicode.com
首页 > 其他好文 > 详细

【Foundation】NSFileManager文件操作.02

时间:2014-08-07 12:35:49      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   使用   io   文件   for   

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);
        }

 

【Foundation】NSFileManager文件操作.02,布布扣,bubuko.com

【Foundation】NSFileManager文件操作.02

标签:des   style   blog   color   使用   io   文件   for   

原文地址:http://www.cnblogs.com/iflewless/p/3896422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!