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

    }

  • 相关阅读:
    IOS8定位
    ios通讯录基本操作2014-12月版
    ios悬浮按钮的实现
    MartinLiPageScrollView广告栏实现
    ios分享(友盟分享)
    vue2.0路由-适合刚接触新手简单理解
    git链接GitHub命令及基本操作
    Node
    JS数组sort()排序
    原生JS获取CSS样式并修改
  • 原文地址:https://www.cnblogs.com/hyuganatsu/p/NSFileManager.html
Copyright © 2020-2023  润新知