Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作
Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作:
objective-c通过使用NSFileManager类来管理和操作文件、目录,NSFileManager,文件或目录是使用文件的路径名的唯一标示。每个路径名都是一个NSString对象。
NSFileManager对象通过defaultManager方法来创建实例
列如:
NSFileManager *fm = [NSFileManager defaultManager];
删除某个文件
[fm removeItemAtPath:@"filename" error:NULL];
error:参数是一个指向NSError对象的指针,能够提供错误的信息。如果指定为NULL的话就会使用默认的行为,返回值是BOOL类型的方法,操作成功返回YES反之返回NO
判断文件是否被删除
if([fm removeItemAtPath:@"filename" error:NULL]==NO){
NSLog(@"文件删除失败");
return 1;
}
NSFileManager常用的文件方法:
-(NSData*)contentsAtPath:path 从一个文件中读取数据
-(BOLL)createFileAtPath:path contents:(NSData*)data attributes: attr 向一个文件写入数据
-(BOOL)removeItemAtPath:path error:err 删除一个文件
-(BOOL)moveItemAtPath:from toPath:to error:err 重命名或移动一个文件(to 不能是已存在的)
-(BOOL)copyItemAtPath:from toPath:to error:err 复制文件(to 不能是已存在的)
-(BOOL)contentsEqualAtPath:path1 andPath:path2 比较这两个文件的内容
-(BOOL)fileExistsAtPath:path 测试文件是否存在
-(BOOL)isReadableFileAtPath:path 测试文件是否存在,并且是否能执行读操作
-(BOOL)isWritableFileAtPath:path 测试文件是否存在,并且是否能执行写操作
-(NSDictionary*)attributesOfItemAtPath:path error:err 获取文件的属性
属性字典允许你指定要创建的文件的权限,如果将该参数指定为nil,该文件会被设置为默认权限。
1、通过一段程序来对文件进行操作:
//
// main.m
// NSFileManager_01
//
// Created by swinglife on 13-11-10.
// Copyright (c) 2013年 swinglife. All rights reserved.
//#import <Foundation/Foundation.h>int main(int argc, const char * argv[])
{@autoreleasepool {//文件名NSString *fileName = @"testFile";NSString *fileContent = @"这是文件内容!!!!";NSData *fileData = [fileContent dataUsingEncoding:NSUTF8StringEncoding];//创建NSFileManager实例NSFileManager *fm = [NSFileManager defaultManager];//创建文件[fm createFileAtPath:fileName contents:fileData attributes:nil];//判断文件是否存在 不存在就结束程序if([fm fileExistsAtPath:fileName]==NO){NSLog(@"文件不存在");return 1;}//拷贝文件if([fm copyItemAtPath:fileName toPath:@"newFile" error:NULL]==NO){NSLog(@"复制失败");return 2;}//测试两个文件是否相同if([fm contentsEqualAtPath:fileName andPath:@"newFile"]==NO){NSLog(@"文件不相同");return 3;}//重命名newFile[fm moveItemAtPath:@"newFile" toPath:@"newFile2" error:NULL];//获取newFile2的大小NSDictionary *fileAttr = [fm attributesOfItemAtPath:@"newFile2" error:NULL];if(fileAttr!=nil){NSLog(@"文件大小:%llu bytes",[[fileAttr objectForKey:NSFileSize] unsignedLongLongValue]);}//删除文件[fm removeItemAtPath:fileName error:NULL];//显示newFile2的内容NSString *data = [NSString stringWithContentsOfFile:@"newFile2" encoding:NSUTF8StringEncoding error:NULL];NSLog(@"%@",data);}return 0;
}
NSFileManager常用的目录方法
-(NSString*)currentDirectoryPath 获取当前目录
-(BOOL)changeCurrentDirectoryPath:path 更改当前目录
-(BOOL)copyItemAtPath:from toPath:to error:err 复制目录结构
-(BOOL)createDirectoryAtPath:path withIntermediateDirectories:(BOOL)flag attributes:attr 创建一个新目录
-(BOOL)fileExistsAtPath:path isDirectory:(BOOL*)flag 测试文件是不是目录(flag中存储结果)
-(NSArray*)contentsOfDirectoryAtPath:path error:err 列出目录内容
-(NSDirectoryEnumerator*)enumeratorAtPath:path 枚举目录的内容
-(BOOL)removeItemAtPath:path error:err 删除空目录
-(BOOL)moveItemAtPath:from toPath:to error:err 重命名或移动一个目录
2、通过一段程序来对目录进行操作:
//
// main.m
// NSFileManager_02
//
// Created by swinglife on 13-11-10.
// Copyright (c) 2013年 swinglife. All rights reserved.
//#import <Foundation/Foundation.h>int main(int argc, const char * argv[])
{@autoreleasepool {//文件目录NSString *dirName = @"testDir";//创建NSFileManager实例NSFileManager *fm = [NSFileManager defaultManager];//获取当前目录NSString *path = [fm currentDirectoryPath];NSLog(@"Path:%@",path);//创建新目录[fm createDirectoryAtPath:dirName withIntermediateDirectories:YES attributes:nil error:NULL];//重命名新的目录[fm moveItemAtPath:dirName toPath:@"newDir" error:NULL];//更改当前目录到新的目录[fm changeCurrentDirectoryPath:@"newDir"];//获取当前工作目录path = [fm currentDirectoryPath];NSLog(@"Path:%@",path);}return 0;
}
Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作相关推荐
- IOS中获取各个文件的目录路径的方法和NSFileManager类
转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永 ...
- 没有那个文件或目录 误无法以读模式打开文件 No such file or directory
没有那个文件或目录 误无法以读模式打开文件 没有那个文件或目录 误无法以读模式打开文件 No such file or directory 这是由于你编写的shell文件是在Windows系统下所编写 ...
- ftp ios 上传文件到服务器上,ios通过ftp上传文件到服务器
ios通过ftp上传文件到服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. ...
- python文件或目录损坏且无法读取_U盘文件或目录损坏且无法读取的修复方法
U盘是我们常用的数据随身携带的存储方式,在没有弹出U盘的情况下,直接拔出U盘,这类操作很容易造成U盘的损坏,那么U盘文件或目录损坏且无法读取怎么解决呢?下面装机之家小编来分享下U盘文件或目录损坏且无法 ...
- python没有那个文件或目录_fatal error: Python.h: 没有那个文件或目录 解决方法
今天安装scrapy 先说下环境 Ubuntu16.04 系统默认Python 2.7.12 (default, Nov 19 2016, 06:48:10) ,安装过anaconda(很关键,里面有 ...
- linux 再文件夹目录下,批量替换文件名、文件内容字符串
基本使用命令 sed -i 's/<原字符串>/<替换字符串>/g' <文件> grep -rl "<搜索字符串>" find -n ...
- python没有那个文件或目录_Python中的“没有这样的文件或目录”
提供完整路径:var2 = open("C:/Users/Matthew/AppData/Local/Programs/Python/Python37-32/password.txt&quo ...
- iOS - 中获取各种文件的目录路径的方法
转自:https://www.cnblogs.com/zrr-notes/p/5953445.html 我们的app在手机中存放的路径是:/var/mobile/Applications/4434-4 ...
- 八. 输入输出(IO)操作6.文件与目录管理
目录是管理文件的特殊机制,同类文件保存在同一个目录下不仅可以简化文件管理,而且还可以提高工作效率.Java 语言在 java.io 包中定义了一个 File 类专门用来管理磁盘文件和目录. 每个 Fi ...
- linux 文件目录操作,Linux系统下文件与目录操作
与其它操作系统一样,在Linux系统下用户的数据和程序也是以文件的形式保存的.所以在使用Linux的过程中,是经常要对文件与目录进行操作的.现在我们就以一个Window用户的立场来学习一下Linux下 ...
最新文章
- BGP的各种属性配置
- localStorage使用总结
- 转自: http://blog.csdn.net/xiaxiaorui2003/article/details/3838631
- 如何提升 CSS 性能的小知识
- SQL 存储过程中,将串连的字符串当表用。
- Python存储和读取数据
- zabbix数据库优化
- 人脸检测(四)--CART原理及实现
- qt超强精美绘图控件 - QCustomPlot一览
- paip.提升用户体验----c++ 源码字体自定义制造总结
- MyBatis-Plus——代码自动生成器
- 黑苹果系统补丁 MacOS Unlocker for VMware 3.0 下载和解锁安装macOS X 10.14图文教程
- 一位 Google 大佬的辞职感言..
- 常见DOS命令及开发工具
- 2016年总结与2017展望
- 输入汉语星期几输出英文c语言程序,c输入1234567,输出英语星期日期
- 美化你的Typora
- Java+Swing+mysql用户信息管理系统
- element-ui中的el-table-column加v-if不生效,表头错乱
- VS Code 不止开源
热门文章
- 27m3氨基酸发酵反应釜设计
- firefox无法使用yslow的解决方案
- 管理的最高境界不是完美
- 朱 蚌埠机器人餐厅_据说,这是蚌埠人气爆棚10家自助餐厅!你吃过几家?!
- 推荐十个精彩的Ubuntu鼠标主题
- 解决M1芯片版本安装Sketch问题 M1芯片安装那个Sketch版本?Sketch已完美支持M1芯片安装 支持big sur系统
- icon图标网站 自用 免费
- linux切换用户并执行命令
- 如何学好c语言数据结构编程,如何学好C语言和数据结构,为什么学不好编程?——好文章一网打尽...
- windows下“找不到该项目”问题