• NSFileManeger


    #define PATH @"/Users/wenhua/testdir"

     

    // 删除, 复制 剪切  这些行为都是管理文件的行为 

     

     //创建文件

    void createFile(void)

    {

        //文件管理器类, 一个app中只需要一个这样的管理器对象,即单例

        NSFileManager *fm =[NSFileManager defaultManager];

     

        //创建文件

    //    fm createFileAtPath:<#(NSString *)#> contents:<#(NSData *)#> attributes:<#(NSDictionary *)#>

        [fm createFileAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/first.txt"] contents:[@"abcde" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];

    }

     

    //创建文件夹

    void createDir(void)

    {

        //文件管理器类, 一个app中只需要一个这样的管理器对象,即单例

        NSFileManager *fm =[NSFileManager defaultManager];

        

        //创建文件夹

    //    fm createDirectoryAtPath:<#(NSString *)#> withIntermediateDirectories:<#(BOOL)#> attributes:<#(NSDictionary *)#> error:<#(NSError *__autoreleasing *)#>

        

        NSError *error=nil;

        

        [fm createDirectoryAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/middle/newdir"] withIntermediateDirectories:YES attributes:nil error:&error];

        if (error!=nil) {

            NSLog(@"%@",error);

            return;

        }

    }

     

    //删除文件

    void rmFile(void)

    {

        //文件管理器类, 一个app中只需要一个这样的管理器对象,即单例

        NSFileManager *fm =[NSFileManager defaultManager];

        //删除

    //    fm removeItemAtPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>

     

        NSError *error=nil;

        [fm removeItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/first.txt"] error:&error];

        if (error) {

            NSLog(@"%@",error);

        }

    }

     

    //复制文件

    void cpFile(void)

    {

        //文件管理器类, 一个app中只需要一个这样的管理器对象,即单例

        NSFileManager *fm =[NSFileManager defaultManager];

        //复制

    //    fm copyItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>

        

        NSError* error=nil;

        

        //复制文件

        [fm copyItemAtPath:@"/Users/xiaozai/Desktop/test.plist" toPath:[NSString stringWithFormat:@"%@%@",PATH,@"/test.plist"] error:&error];

        if (error) {

            NSLog(@"%@",error);

        }

        

        //复制文件夹

        [fm copyItemAtPath:@"/Users/xiaozai/Desktop/deskdir" toPath:[NSString stringWithFormat:@"%@%@",PATH,@"/deskdir"] error:&error];

        if (error) {

            NSLog(@"%@",error);

        }

    }

     

    //剪切文件

    void mvFile(void)

    {

        //剪切,移动

    //    fm moveItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>

        //文件管理器类, 一个app中只需要一个这样的管理器对象,即单例

        NSFileManager *fm =[NSFileManager defaultManager];

        

        NSError *error=nil;

        [fm moveItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/test.plist"] toPath:@"/Users/xiaozai/Desktop/test.plist" error:&error];

     

        if (error) {

            NSLog(@"%@",error);

        }

        

        [fm moveItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/deskdir"] toPath:@"/Users/xiaozai/Desktop/deskdir" error:&error];

        if (error) {

            NSLog(@"%@",error);

        }

    }

     

    // 文件是否存在于某个路径

    bool isFileExistAtPath()

    {

        NSString *path = [NSString stringWithFormat:@"%@/file.zip", NSHomeDirectory()];

        NSFileManager *fm = [ NSFileManager defaultManager];

        return [fm fileExistsAtPath:path];

    }

    // 若创建未出错,那一定就会返回TRUE了

     

    //遍历某个目录

    void travelListDir(void)

    {

        NSFileManager *fm = [ NSFileManager defaultManager];

        

        NSError* error=nil;

        //                       浅层遍历目录

        NSArray* retArray =[fm contentsOfDirectoryAtPath:PATH error:&error];

        if (error) {

            NSLog(@"%@",error);

        }

     

        NSLog(@"retArray:%@",retArray);

        //  深层遍历目录

        NSArray * array2= [fm subpathsOfDirectoryAtPath:@"/Users/wenhua/work/oc/19day" error:&error];

        

        NSEnumerator * enumerator = [ array2 objectEnumerator];

        id obj;

        while (obj=[enumerator nextObject]) {

            NSLog(@"%@",obj);

        }

    }

     

    void otherMethods(void)

    {

        NSFileManager *fm = [ NSFileManager defaultManager];

        

        //获取app的当前工作路径

        NSLog(@"本程序的当前工作路径为:%@",[fm currentDirectoryPath]);

     

        //传一个文件()的绝对路径,得到一个文件()

        NSLog(@"%@",[fm displayNameAtPath:PATH]);

    }

  • 相关阅读:
    c#生成验证码
    使用Linq导出数据到execl
    AspNetPager2.0.dll组件的使用
    <httpRuntime>属性值的解析
    帮助文档chm的制作
    关于table边框打印不显示的样式设置
    【Reporting Services 报表开发】— 如何设置报表分页列标题每一页都显示
    Microsoft Dynamics CRM4.0 创建单据的时候,自动生成单据编号的通用方法
    【Reporting Services 报表开发】— 总结
    出现“安全时间戳无效,因为其创建时间(“2013-10-30T14:42:07.861Z”)是将来的时间。当前时间为“2013-10-30T14:36:23.988Z”,允许的时钟偏差是“00:05:00””的原因
  • 原文地址:https://www.cnblogs.com/hyuganatsu/p/NSFileManager.html
Copyright © 2020-2023  润新知