Foundation——文件操作

NSFileManager  

//1.获取文件管理器

        NSFileManager * fileManager = [NSFileManager defaultManager];

        NSString * path = @"/Users/aplle/Desktop/test.txt";

        NSError * error;

        NSDictionary * dic = [fileManager attributesOfItemAtPath:path error:&error];


                     目录操作

//2.获得文件夹中的目录

只能够获得第一级目录

        NSArray * array = [fileManager contentsOfDirectoryAtPath:path error:&error];

//能够逐级的获得所有的文件

        NSArray * array = [fileManager subpathsOfDirectoryAtPath:path error:&error];

//3.创建目录

        //withIntermediateDirectories YES 逐级创建文件夹,NO表示只能够创建一级目录

        BOOL isCreateSuccess = [fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error];

//4.移动目录 移动就是剪切操作

        BOOL isMoveSuccess = [fileManager moveItemAtPath:path toPath:pathTo error:&error];

//5.删除

        BOOL isRemoveSuccess = [fileManager removeItemAtPath:path error:&error];

//6.拷贝文件

        NSFileManager * fileManager = [NSFileManager defaultManager];

        NSString * path = @"/Users/aplle/Desktop/myfolder";

        NSString * pathTo = @"/Users/aplle/Desktop/newmyfolder";

        NSError * error;

        BOOL isCopySuccess = [fileManager copyItemAtPath:path toPath:pathTo error:&error];


                   文件操作

 //1.获得文件   

        NSString * path = @"/Users/aplle/Desktop/屏幕快照 .png";

        NSData * data = [NSData dataWithContentsOfFile:path];//

        NSFileManager * fileManager = [NSFileManager defaultManager];

        NSString * pathTo = @"/Users/aplle/Desktop/屏幕快照副本.png";

       BOOL isCreateSuccess =  [fileManager createFileAtPath:pathTo contents:data attributes:nil];

//2.移动文件 相当于剪切操作

        BOOL ismoveSuccess = [fileManager moveItemAtPath:path toPath:pathTo error:&error];

//3.删除

        BOOL isremove = [fileManager removeItemAtPath:path error:&error];



NSData(一个磁盘上文件的封装)


        NSString * path = @"/Users/aplle/Desktop/text.txt”;

        NSString * pathTo = @"/Users/aplle/Desktop/nextext.txt";

        //把目标文件加载到内存中.

        //NSData 是不可变长度的Data类型,只能够通过一次加载完成所有的数据

        NSData * data = [NSData dataWithContentsOfFile:path];

        //把加载到内存中的文件,写入到指定的位置

        BOOL isWriteSuccess = [data writeToFile:pathTo atomically:YES];


NSMutableData        

        //当需要把多个NSData数据拼接成一个数据存储的时候,就要想到使用NSMutableData这个类型

        NSString * str1 = @"好好学习";

        NSString * str2 = @"天天向上";

        NSString * str3 = @"今天休息";

        NSMutableData * muData = [[NSMutableData allocinit];

        NSData * d1 = [str1 dataUsingEncoding:NSUTF8StringEncoding];

        NSData * d2 = [str2 dataUsingEncoding:NSUTF8StringEncoding];

        NSData * d3 = [str3 dataUsingEncoding:NSUTF8StringEncoding];

        //appendData 能够把nsdata对象加入到 muData对象中

        [muData appendData:d1];

        [muData appendData:d2];

        [muData appendData:d3];

        NSString * path = @"/Users/aplle/Desktop/传智播客校训.txt";

        //NSMutableData是继承至NSData的所以可以调用writeToFile 把数据写入到一个指定的目录下

        BOOL iswriteSucess = [muData writeToFile:path atomically:YES];

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值