【语法】NSFileManager 文件目录操作

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

 

 

3.列举目录操作

 // 创建文件处理对象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);
        }

 

posted @ 2014-04-01 14:39  太过于漂流  阅读(816)  评论(0编辑  收藏  举报