博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Foundation 框架 NSFileManager,NSData 简单的文件操作
阅读量:6899 次
发布时间:2019-06-27

本文共 3865 字,大约阅读时间需要 12 分钟。

一、简单展示NSFileManager的使用

#import 
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 
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 }

 

转载于:https://www.cnblogs.com/pretty-guy/p/3957603.html

你可能感兴趣的文章
Prim 最小生成树算法
查看>>
金蝶结账的时候出现压缩账套失败 KIC_Compress.KD
查看>>
JavaScriptSerializer 序列化json 时间格式
查看>>
PyCharm 总结
查看>>
Microsoft Enterprise Library 5.0 系列教程(九) Policy Injection Application Block
查看>>
ASP.NET Core 返回 Json DateTime 格式
查看>>
web安全实践(3)再谈基于http的服务器架构剖析
查看>>
SQL SERVER 2005 进行XML查询
查看>>
[CareerCup] 6.5 Drop Eggs 扔鸡蛋问题
查看>>
[Share]18个UI原稿图(包括twitter手稿)
查看>>
EXCEL的数据倒入到数据库
查看>>
浅析Java中的final关键字
查看>>
Spring有几种事务处理方式?举例说明
查看>>
php中mb_strlen,mb_substr根据中文长度截取字符串
查看>>
convert image to base64
查看>>
第 67 章 DDL
查看>>
CSS几个竖直与水平居中盒子模型
查看>>
希望早几年知道的5个Unix命令
查看>>
C# 控件不刷新问题
查看>>
Structs+Spring+Hibernate快速入门
查看>>