Foundation 框架 NSFileManager,NSData 简单的

系统 1563 0

一、简单展示NSFileManager的使用

      
        #import
      
       <Foundation/Foundation.h>




      
        int
      
       main(
      
        int
      
       argc, 
      
        const
      
      
        char
      
       *
      
         argv[])

{



    @autoreleasepool {

        
      
      
        //
      
      
        创建文件管理对象
      
      

        NSFileManager *fm =
      
         [NSFileManager defaultManager];

        
      
      
        //
      
      
        要操作的文件名
      
      

        NSString *fname = 
      
        @"
      
      
        myfile
      
      
        "
      
      
        ;

        
      
      
        //
      
      
        获取文件的字典
      
      

        NSDictionary *
      
        attr;

        
      
      
        //
      
      
        当前路径
      
      

        NSString *
      
        path;

        
      
      
        //
      
      
        获取当前路径
      
      

        path =
      
         [fm currentDirectoryPath];

        
      
      
        //
      
      
        NSLog(@"\nThe current path is : %@", path);

        

        
      
      
        //
      
      
        检测文件是否存在
      
      
        if
      
       ([fm fileExistsAtPath: fname] ==
      
         NO) {

            
      
      
        //
      
      
        如果不存在则建立一个文件
      
      
                    [fm createFileAtPath: fname contents: NULL attributes:nil];

            
      
      
        //
      
      
        NSLog(@"\nThe file is not exist!");

            
      
      
        //
      
      
        return 0;
      
      
                }

        
      
      
        //
      
      
        拷贝创建一个新文件, 新文件若已存在则报错
      
      
        if
      
       ([fm copyItemAtPath: fname toPath: 
      
        @"
      
      
        newFile
      
      
        "
      
       error: NULL] ==
      
         NO) {

            NSLog(
      
      
        @"
      
      
        \n Can't copy the file
      
      
        "
      
      
        );

            
      
      
        return
      
      
        1
      
      
        ;

        }

        
      
      
        //
      
      
        检测两个文件内容是否相同
      
      
        if
      
       ([fm contentsEqualAtPath: fname andPath: 
      
        @"
      
      
        newFile
      
      
        "
      
      ] ==
      
         NO) {

            NSLog(
      
      
        @"
      
      
        \nThe contents is not same
      
      
        "
      
      
        );

            
      
      
        return
      
      
        2
      
      
        ;

        }

        
      
      
        //
      
      
        移动或者改名文件
      
      
        if
      
       ([fm moveItemAtPath: 
      
        @"
      
      
        newFile
      
      
        "
      
        toPath: 
      
        @"
      
      
        myFile2
      
      
        "
      
       error:NULL] ==
      
         NO) {

            NSLog(
      
      
        @"
      
      
        \nCan't change the name
      
      
        "
      
      
        );

            
      
      
        return
      
      
        3
      
      
        ;

        }

        
      
      
        //
      
      
        获取文件数据字典
      
      
        if
      
       ((attr = [fm attributesOfItemAtPath: fname error:NULL]) ==
      
         nil) {

            NSLog(
      
      
        @"
      
      
        \nGet attributets failed
      
      
        "
      
      
        );

            
      
      
        return
      
      
        4
      
      
        ;

        }

        
      
      
        //
      
      
        文件大小
      
      

        NSLog(
      
        @"
      
      
        %@
      
      
        "
      
      
        , attr[NSFileSize]);

        
      
      
        //
      
      
        文件类型
      
      

        NSLog(
      
        @"
      
      
        %@
      
      
        "
      
      
        , attr[NSFileType]);

        
      
      
        //
      
      
        创建者
      
      

        NSLog(
      
        @"
      
      
        %@
      
      
        "
      
      
        , attr[NSFileOwnerAccountName]);

        
      
      
        //


      
              NSLog(
      
        @"
      
      
        %@
      
      
        "
      
      
        , attr[NSFileCreationDate]);

        
      
      
        //
      
      
        显示文件内容
      
      

        NSLog(
      
        @"
      
      
        \n Show the file contents
      
      
        "
      
      
        );

        NSLog(
      
      
        @"
      
      
        \n%@
      
      
        "
      
      
        , [NSString stringWithContentsOfFile: fname encoding:NSUTF8StringEncoding error:NULL]);

    }

    
      
      
        return
      
      
        0
      
      
        ;

}
      
    

 二、通过NSData完成副本制作

      
         1
      
      
        int
      
       main(
      
        int
      
       argc, 
      
        const
      
      
        char
      
       *
      
         argv[])


      
      
         2
      
      
        {


      
      
         3
      
      
         4
      
      
            @autoreleasepool {


      
      
         5
      
      
        //
      
      
        通过NSDate来完成文件副本制作
      
      
         6
      
               NSFileManager *fm =
      
         [NSFileManager defaultManager];


      
      
         7
      
               NSData *
      
        dt;


      
      
         8
      
      
         9
      
               dt = [fm contentsAtPath: 
      
        @"
      
      
        myfile
      
      
        "
      
      
        ];


      
      
        10
      
      
        11
      
      
        if
      
       (dt ==
      
         nil) {


      
      
        12
      
                   NSLog(
      
        @"
      
      
        Read file failed....
      
      
        "
      
      
        );


      
      
        13
      
      
        return
      
      
        0
      
      
        ;


      
      
        14
      
      
                }


      
      
        15
      
      
        16
      
      
        //
      
      
        将缓冲区NSData中的内容复制到文件中
      
      
        17
      
      
        if
      
       ([fm createFileAtPath:
      
        @"
      
      
        myFavoriteFile
      
      
        "
      
       contents: dt attributes:nil] ==
      
         NO) {


      
      
        18
      
                   NSLog(
      
        @"
      
      
        Creat backups failed
      
      
        "
      
      
        );


      
      
        19
      
      
        return
      
      
        1
      
      
        ;


      
      
        20
      
      
                }


      
      
        21
      
      
        22
      
      
        //
      
      
        读出文件内容
      
      
        23
      
               NSLog(
      
        @"
      
      
        \n%@
      
      
        "
      
      , [NSString stringWithContentsOfFile:
      
        @"
      
      
        myFavoriteFile
      
      
        "
      
      
         encoding: NSUTF8StringEncoding error:NULL]);


      
      
        24
      
      
            }


      
      
        25
      
      
        return
      
      
        0
      
      
        ;


      
      
        26
      
       }
    

三、简单的目录操作

      
         1
      
      
        #import
      
       <Foundation/Foundation.h>


      
         2
      
      
         3
      
      
        int
      
       main(
      
        int
      
       argc, 
      
        const
      
      
        char
      
       *
      
         argv[])


      
      
         4
      
      
        {


      
      
         5
      
      
         6
      
      
            @autoreleasepool {


      
      
         7
      
               NSString *newDir = 
      
        @"
      
      
        newDir
      
      
        "
      
      
        ;


      
      
         8
      
               NSString *
      
        currentPath;


      
      
         9
      
               NSFileManager *fm =
      
         [NSFileManager defaultManager];


      
      
        10
      
      
        11
      
      
        //
      
      
        获取当前路径
      
      
        12
      
               currentPath =
      
         [fm currentDirectoryPath];


      
      
        13
      
               NSLog(
      
        @"
      
      
        \nCurrentpath is : \n%@
      
      
        "
      
      
        , currentPath);


      
      
        14
      
      
        15
      
      
        //
      
      
        在当前目录下新建一个目录
      
      
        16
      
      
        if
      
       ([fm createDirectoryAtPath:newDir withIntermediateDirectories:TRUE attributes:nil error:NULL] ==
      
         NO) {


      
      
        17
      
                   NSLog(
      
        @"
      
      
        \nCouldn't creat the directory...
      
      
        "
      
      
        );


      
      
        18
      
      
        return
      
      
        0
      
      
        ;


      
      
        19
      
      
                }


      
      
        20
      
      
        21
      
      
        //
      
      
        更改路径名
      
      
        22
      
      
        if
      
       ([fm moveItemAtPath: newDir toPath: 
      
        @"
      
      
        changeDir
      
      
        "
      
       error:NULL] ==
      
         NO) {


      
      
        23
      
                   NSLog(
      
        @"
      
      
        \nChange directory name failed
      
      
        "
      
      
        );


      
      
        24
      
      
        return
      
      
        2
      
      
        ;


      
      
        25
      
      
                }


      
      
        26
      
      
        27
      
      
        //
      
      
        更改当前路径
      
      
        28
      
      
        if
      
       ([fm changeCurrentDirectoryPath:
      
        @"
      
      
        changeDir
      
      
        "
      
      ] ==
      
         NO) {


      
      
        29
      
                   NSLog(
      
        @"
      
      
        \nChange current directory failed
      
      
        "
      
      
        );


      
      
        30
      
      
        return
      
      
        1
      
      
        ;


      
      
        31
      
      
                }


      
      
        32
      
               NSLog(
      
        @"
      
      
        \nAfter change current directory.....
      
      
        "
      
      
        );


      
      
        33
      
               currentPath =
      
         [fm currentDirectoryPath];


      
      
        34
      
               NSLog(
      
        @"
      
      
        \nCurrentpath is : \n%@
      
      
        "
      
      
        , currentPath);


      
      
        35
      
      
            }


      
      
        36
      
      
        return
      
      
        0
      
      
        ;


      
      
        37
      
       }
    

 

Foundation 框架 NSFileManager,NSData 简单的文件操作


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论