iOS文件操作的十个小功能
来源:互联网 发布:最好的网管软件 编辑:程序博客网 时间:2024/05/08 22:13
NSFileManager是一个单列类,也是一个文件管理器。可以通过NSFileManager创建文件夹、创建文件、写文件、读文件内容等等基本功能。
下面将介绍NSFileManager文件操作的十个小功能。我们在Documents里面进行举例,首先是获取Documents的路径。这个在iOS开发之沙盒机制(SandBox)已经详细讲解过了。获取Documents路径方法如下:
-(NSString*)getDocumentsPath
{
//获取Documents路径
NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString*path=[pathsobjectAtIndex:0];
NSLog(@"path:%@",path);
returnpath;
}
创建文件夹
-(void)createDirectory{
NSString*documentsPath=[selfgetDocumentsPath];
NSFileManager*fileManager=[NSFileManagerdefaultManager];
NSString*iOSDirectory=[documentsPathstringByAppendingPathComponent:@"iOS"];
BOOLisSuccess=[fileManagercreateDirectoryAtPath:iOSDirectorywithIntermediateDirectories:YESattributes:nilerror:nil];
if(isSuccess){
NSLog(@"success");
}else{
NSLog(@"fail");
}
}
创建文件
-(void)createFile{
NSString*documentsPath=[selfgetDocumentsPath];
NSFileManager*fileManager=[NSFileManagerdefaultManager];
NSString*iOSPath=[documentsPathstringByAppendingPathComponent:@"iOS.txt"];
BOOLisSuccess=[fileManagercreateFileAtPath:iOSPathcontents:nilattributes:nil];
if(isSuccess){
NSLog(@"success");
}else{
NSLog(@"fail");
}
}
写文件
-(void)writeFile{
NSString*documentsPath=[selfgetDocumentsPath];
NSString*iOSPath=[documentsPathstringByAppendingPathComponent:@"iOS.txt"];
NSString*content=@"我要写数据啦";
BOOLisSuccess=[contentwriteToFile:iOSPathatomically:YESencoding:NSUTF8StringEncodingerror:nil];
if(isSuccess){
NSLog(@"writesuccess");
}else{
NSLog(@"writefail");
}
}
读取文件内容
-(void)readFileContent{
NSString*documentsPath=[selfgetDocumentsPath];
NSString*iOSPath=[documentsPathstringByAppendingPathComponent:@"iOS.txt"];
NSString*content=[NSStringstringWithContentsOfFile:iOSPathencoding:NSUTF8StringEncodingerror:nil];
NSLog(@"readsuccess:%@",content);
}
判断文件是否存在
-(BOOL)isSxistAtPath:(NSString*)filePath{
NSFileManager*fileManager=[NSFileManagerdefaultManager];
BOOLisExist=[fileManagerfileExistsAtPath:filePath];
returnisExist;
}
计算文件大小
-(unsignedlonglong)fileSizeAtPath:(NSString*)filePath{
NSFileManager*fileManager=[NSFileManagerdefaultManager];
BOOLisExist=[fileManagerfileExistsAtPath:filePath];
if(isExist){
unsignedlonglongfileSize=[[fileManagerattributesOfItemAtPath:filePatherror:nil]fileSize];
returnfileSize;
}else{
NSLog(@"fileisnotexist");
return0;
}
}
计算整个文件夹中所有文件大小
-(unsignedlonglong)folderSizeAtPath:(NSString*)folderPath{
NSFileManager*fileManager=[NSFileManagerdefaultManager];
BOOLisExist=[fileManagerfileExistsAtPath:folderPath];
if(isExist){
NSEnumerator*childFileEnumerator=[[fileManagersubpathsAtPath:folderPath]objectEnumerator];
unsignedlonglongfolderSize=0;
NSString*fileName=@"";
while((fileName=[childFileEnumeratornextObject])!=nil){
NSString*fileAbsolutePath=[folderPathstringByAppendingPathComponent:fileName];
folderSize+=[selffileSizeAtPath:fileAbsolutePath];
}
returnfolderSize/(1024.0*1024.0);
}else{
NSLog(@"fileisnotexist");
return0;
}
}
删除文件
-(void)deleteFile{
NSString*documentsPath=[selfgetDocumentsPath];
NSFileManager*fileManager=[NSFileManagerdefaultManager];
NSString*iOSPath=[documentsPathstringByAppendingPathComponent:@"iOS.txt"];
BOOLisSuccess=[fileManagerremoveItemAtPath:iOSPatherror:nil];
if(isSuccess){
NSLog(@"deletesuccess");
}else{
NSLog(@"deletefail");
}
}
移动文件
-(void)moveFileName
{
NSString*documentsPath=[selfgetDocumentsPath];
NSFileManager*fileManager=[NSFileManagerdefaultManager];
NSString*filePath=[documentsPathstringByAppendingPathComponent:@"iOS.txt"];
NSString*moveToPath=[documentsPathstringByAppendingPathComponent:@"iOS.txt"];
BOOLisSuccess=[fileManagermoveItemAtPath:filePathtoPath:moveToPatherror:nil];
if(isSuccess){
NSLog(@"renamesuccess");
}else{
NSLog(@"renamefail");
}
}
重命名
-(void)renameFileName
{
//通过移动该文件对文件重命名
NSString*documentsPath=[selfgetDocumentsPath];
NSFileManager*fileManager=[NSFileManagerdefaultManager];
NSString*filePath=[documentsPathstringByAppendingPathComponent:@"iOS.txt"];
NSString*moveToPath=[documentsPathstringByAppendingPathComponent:@"rename.txt"];
BOOLisSuccess=[fileManagermoveItemAtPath:filePathtoPath:moveToPatherror:nil];
if(isSuccess){
NSLog(@"renamesuccess");
}else{
NSLog(@"renamefail");
}
}
- iOS文件操作的十个小功能
- NSFileManager文件操作的十个小功能
- NSFileManager文件操作的十个小功能
- NSFileManager文件操作的十个小功能
- NSFileManager文件操作的十个小功能
- NSFileManager文件操作的十个小功能
- 文件的小操作
- ios文件的操作
- ios文件的操作
- ios 中零散的小功能
- iOS常用小功能的实现
- iOS开发之UIApplication的小功能
- iOS 一些小的功能实现
- iOS 的小功能代码段
- 不能忽略的ios小功能
- 文件操作的小tips
- PureMVC的十个小提示
- JavaScript的十个小技巧
- CentOS 7.0,启用iptables防火墙
- pom.xml详解
- 欢迎使用CSDN-markdown编辑器
- crontab简单小结(实用)
- java中以类为参数将其哥属性值中的空格去除
- iOS文件操作的十个小功能
- swift中文文档粗略学习随记
- 统计UTF-8编码方式字符串中的符号个数
- Java数据结构----链表
- mysql数据库
- <c:choose> <c:when> <c:otherwise>--------JSTL
- 百度全系APP SDK漏洞–WormHole虫洞漏洞
- 关于indexPath和cell的三个小需求
- 第三届蓝桥杯预赛2回文数变身