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

【Foundation】NSFileManager文件操作.02

时间: 2024-08-24 00:23:54

【Foundation】NSFileManager文件操作.02的相关文章

【Foundation】NSFileManager文件操作

NSFileManager文件操作: -(NSData *) contentsAtPath: path 从一个文件中读取数据 -(bool)createFileAtPath:path contents:(NSData *)data attributes:attr 创建一个文件并写入数据 -(BOOL) removeItemAtPath: path error: err 删除一个文件 -(BOOL) moveItemAtPath: from toPath: to error: err 重命名或移动

iOS NSFileManager文件操作

参考:http://blog.csdn.net/xyz_lmn/article/details/8968213 感谢这些先行者 文件操作常用操作记录一下: //获取沙盒的根路径 NSString *dirHome = NSHomeDirectory(); NSLog(@"%@",dirHome); //获取Documents目录路径 NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,

NSFileManager文件操作的十个小功能

NSFileManager是一个单列类,也是一个文件管理器.可以通过NSFileManager创建文件夹.创建文件.写文件.读文件内容等等基本功能. 下面将介绍NSFileManager文件操作的十个小功能.我们在Documents里面进行举例,首先是获取Documents的路径.这个在iOS开发之沙盒机制(SandBox)已经详细讲解过了.获取Documents路径方法如下: - (NSString *)getDocumentsPath { //获取Documents路径 NSArray *p

文件操作02

seek() seek(n)光标移动到n位置,移动单位是byte,所有如果是utf-8的中文部分要是3的倍数,因为一个中文在utf-8是24位,3个字节. 通常我们使用seek都是移动到开头或者结尾 移动到开头:seek(0) ,但是实际上是seek(0,0) 移动到结尾:seek(0,2) seek的第二个参数表示的是从哪个位置进行偏移,默认是0,表示开头,1表示当前位置,2表示结尾 f = open("log", mode="r+", encoding=&quo

C语言之文件操作08——总结

C程序的文件操作共涵盖7个例题,包含格式打印,文件读取,条件查找,矩阵的文件操作,数据格式输入及调用计算等内容. 文件操作使得程序有更强的拓展性,使其可以单独保存数据,这为程序的调试和优化打下了坚实的基础,为我们实现大规模计算提供了可能.至此,相信大家对文件操作也有了比较好的认识,无非是写入.读取.调用. 我们常常会听说C的强大,也是因为她有着文件操作的功能,而文件数据是可以方便重写和维护的. MATLAB数学软件是一款十分强大的工具型软件,它是通过C语言来表达算法的,作为面向过程的编程语言C,

iOS开发>学无止境 - 沙盒和文件操作(汇总)

关于沙盒和文件操作的文章写了几篇,在写的过程中加深了自己的记忆.今天来做一下汇总,算是对知识点的梳理. 文章梳理 1 iOS开发之沙盒机制(SandBox) 这是一篇关于沙盒的基础知识教程.简述沙盒的作用,对Documents.Library.tmp之间的区别做了介绍.通过两种方法打开沙盒,查看其中的内容. 2 iOS开发之获取沙盒路径 沙盒里的文件夹包括Documents.Library.tmp.文章介绍了如何获取Documents.Library.Caches.tmp的路径. 3 如何查看真

iOS开发之沙盒和文件操作(汇总)

关于沙盒和文件操作的文章写了几篇,在写的过程中加深了自己的记忆.今天来做一下汇总,算是对知识点的梳理. 文章梳理 1 iOS开发之沙盒机制(SandBox) 这是一篇关于沙盒的基础知识教程.简述沙盒的作用,对Documents.Library.tmp之间的区别做了介绍.通过两种方法打开沙盒,查看其中的内容. 2 iOS开发之获取沙盒路径 沙盒里的文件夹包括Documents.Library.tmp.文章介绍了如何获取Documents.Library.Caches.tmp的路径. 3 如何查看真

【非凡程序员】 OC第十七节课 文件操作(NSFileManager和NSFileHandle)

文件操作 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {    @autoreleasepool {        // insert code here...        NSLog(@"Hello, World!");                //----------- NSFileManager---------//                //实例化

Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作

转自 http://blog.csdn.net/swingpyzf/article/details/15185767 objective-c通过使用NSFileManager类来管理和操作文件.目录,NSFileManager,文件或目录是使用文件的路径名的唯一标示.每个路径名都是一个NSString对象. NSFileManager对象通过defaultManager方法来创建实例 列如: NSFileManager *fm = [NSFileManager defaultManager];