• NSFileManager 的基本使用方法


    本方法已有个人总结,

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

        @autoreleasepool {

            NSString *path=@"/Users/tang/Desktop/123";

            NSString *pathtext=@"/Users/tang/Desktop/123/123.txt";

            //用于获取单例对象,快速创建对象的方法,

            //单例对象:在程序运行期间只有一个对象,

            NSFileManager *fm=[NSFileManager defaultManager];

            //文件是否存在

            //BOOL isYes=[fm fileExistsAtPath:path];

            BOOL isDictory=NO;

            BOOL isYes=[fm fileExistsAtPath:path isDirectory:&isDictory];

            //如果存在判断是否是一个目录

            if(isYes)

            {

                NSLog(@"文件存在!");

                if(isDictory)

                {

                    NSLog(@"是一个目录!!");

                    isDictory=NO;

                }

                isYes=NO;

            }

            //判断文件权限.可读,可写,是否可删除

            isYes=[fm isReadableFileAtPath:path];

            [fm isWritableFileAtPath:path];

            [fm isDeletableFileAtPath:path];

            //获取文件属性的信息

            NSDictionary *fdict=[fm attributesOfFileSystemForPath:path error:nil];

            NSLog(@"%@",fdict);

            

            NSLog(@"%@",[fdict fileGroupOwnerAccountName]);

            //获取指定目录下的文件及子目录

            NSArray *arr=[fm subpathsAtPath:path];

            NSLog(@"%@",arr);

            arr=[fm subpathsOfDirectoryAtPath:path error:nil]; //不用递归的模式进行遍历

            NSLog(@"%@",arr);

            //获取指定目录下的子目录,不含子目录下的目录

            NSArray *current=[fm contentsOfDirectoryAtPath:path error:nil];

            NSLog(@"%@",current);

            //

            NSData* data= [fm contentsAtPath:pathtext];

            

            NSLog(@"%@",data);

            //用法深入

            //创建 文件/目录

            NSString *cuStr=@"/users/tang/desktop";

            //第二个参数如果为YES,不存在desktop的情况下也创建desktop,即自动创建路径中缺少的目录

            NSDictionary *dir=nil;

            BOOL isSucceed=[fm createDirectoryAtPath:cuStr withIntermediateDirectories:YES attributes:dir error:nil];

            if(isSucceed)

            {

                NSLog(@"创建成功");

                isSucceed=NO;

            }

            //创建文件

            NSString *content=@"sshhduoolnalsdfoashdfnai";

            NSData *da=[content dataUsingEncoding:NSUTF8StringEncoding];

            //NSData *da2=[NSData dataWithBytes:<#(const void *)#> length:<#(NSUInteger)#>];

            isSucceed=[fm createFileAtPath:cuStr contents:da attributes:nil];

            if(isSucceed)

            {

                NSLog(@"文件创建成功");

                isSucceed=NO;

            }

            //复制文件,复制文件的时候复制到的文件夹下一定要有文件,不会自动创建;

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

            //[fm copy];

            

            //移动文件

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

            

            //删除文件

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

            

            

    //        NSString *path=@"/Users/tang/Desktop/123/22/11.txt";

    //        NSString *pathtext=@"/Users/tang/Desktop/123/223.txt";

    //        //用于获取单例对象,快速创建对象的方法,

    //        //单例对象:在程序运行期间只有一个对象,

    //        NSFileManager *fm=[NSFileManager defaultManager];

    //        //文件下载:断点续传//两个文件管理的类,一个NSFileManager,另一个:?????????????

    //        NSString *content=@"sshhduoolnalsdfoashdfnai";

    //        NSData *da=[content dataUsingEncoding:NSUTF8StringEncoding];

    //        bool isSucceed=[fm createFileAtPath:pathtext contents:da attributes:nil];

    //        //[fm copy];不可以用copy,因为NSDileManager没有遵守NSCopy协议

    //        if(isSucceed)

    //        {

    //            NSLog(@"成功");

    //            [fm copyItemAtPath:pathtext toPath:path error:nil];

    //        }

        }

        return 0;

    }

  • 相关阅读:
    greenlet和gevent模块的区别?
    Python整型int、浮点float常用方法
    jquery的相关应用
    mongoDB在java上面的应用
    SpringAOP的两种实现方式
    svn 服务器搭建 (Linux)
    maven的两种打包方式
    MongoDB 安装与配置
    springmvc拦截器配置
    Linux下安装mysql
  • 原文地址:https://www.cnblogs.com/tangranyang/p/4486318.html
Copyright © 2020-2023  润新知