NSFileManager
2015-08-23 23:20
141 查看
NSFileManager
<1>创建文件管理器单例对象
NSFileManager * fm = [NSFileManager defaultManager];
<2>遍历目录下的内容
//浅度遍历
//仅仅遍历当前文件夹下的第一层子文件夹
/// //contentsOfDirectoryAtPath,指定路径下的第一层子文件夹(文件内容)
- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error;
//深度遍历(又称为递归便利)
//遍历指定路径下的所有文件夹和文件
//指定路径下的子文件夹下的所有文件
- (NSArray *)subpathsOfDirectoryAtPath:(NSString *)path error:(NSError **)error
<3>创建文件
//创建普通文件
//createFileAtPath,在指定路径下,创建文件
//第二个参数contents,是指在创建文件的同时,附上的文件内容
//第三个参数attributes ,如果写nil, attributes会有系统自动管理
- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;
//创建目录
//就是在指定路径下创建文件夹
//withIntermediateDirectories,是否创建没有路径
- (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error ;
<4>拷贝文件/目录
//copyItemAtPath,在指定路径下拷贝项目(文件夹,也能文件)
//srcPath,原路径
//toPath,目标路径
- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error ;
<5>移动文件/目录
//moveItemAtPath,移动指定路径下的文件或目录,到另外一个指定的路径
//剪切的同时,也能修改目录或文件的名字
- (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error ;
<6>删除文件/目录
//removeItemAtPath 删除指定路径下的文件夹或者文件
- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error;
<7>获取文件属性
// attributesOfItemAtPath 查看指定目录下的文件或者文件夹的属性
- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)error;
<8>判断文件是否存在
- (BOOL)fileExistsAtPath:(NSString *)path;
2.2 NSFileHandle
NSFileHandle 对文件进行操作,读,写,设置文件指针偏移量的操作
e.g. 1.创建一个文件 Example.txt,放到桌面上
2.通过NSFileHanle 以读写的方式打开文件,并写入内容@“asdf我的”
2方法:
<1>打开文件方法
+ (id)fileHandleForReadingAtPath:(NSString *)path;
//以只写方式打开
+ (id)fileHandleForWritingAtPath:(NSString *)path;
//以读写方式打开
+ (id)fileHandleForUpdatingAtPath:(NSString *)path;
<2>读指定长度的数据
//readDataOfLength 读取指定长度的字符串
//得知,每个汉字在编译器中占三个字节
- (NSData *)readDataOfLength:(NSUInteger)length;
<3>从当前偏移量读到文件尾
//是将文本中所有的数据一次性读到内存中
- (NSData *)readDataToEndOfFile;
<4>设置文件偏移量
//2.txt中的文字abcefg,如果偏移量为2的话,那么就是从c字符往后读
//偏移量的默认值为0
- (void)seekToFileOffset:(unsigned long long)offset;
<5>将文件偏移量定位到文件尾
//将指针指向文本的结尾
- (unsigned long long)seekToEndOfFile;
<6>写文件
//(NSData *)data,内存数据类型
// NSString *string=@“abc”,[string dataUsingEncoding:NSUTF8StringEncoding]
- (void)writeData:(NSData *)data;
<7>关闭文件
// -(void)closeFile;
2.3 NSData
//如果把字符串转化为NSData
NSString *str = @"welcome to beijing";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
//NSData 转化为字符串
NSString *newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
<1>创建文件管理器单例对象
NSFileManager * fm = [NSFileManager defaultManager];
<2>遍历目录下的内容
//浅度遍历
//仅仅遍历当前文件夹下的第一层子文件夹
/// //contentsOfDirectoryAtPath,指定路径下的第一层子文件夹(文件内容)
- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error;
//深度遍历(又称为递归便利)
//遍历指定路径下的所有文件夹和文件
//指定路径下的子文件夹下的所有文件
- (NSArray *)subpathsOfDirectoryAtPath:(NSString *)path error:(NSError **)error
<3>创建文件
//创建普通文件
//createFileAtPath,在指定路径下,创建文件
//第二个参数contents,是指在创建文件的同时,附上的文件内容
//第三个参数attributes ,如果写nil, attributes会有系统自动管理
- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;
//创建目录
//就是在指定路径下创建文件夹
//withIntermediateDirectories,是否创建没有路径
- (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error ;
<4>拷贝文件/目录
//copyItemAtPath,在指定路径下拷贝项目(文件夹,也能文件)
//srcPath,原路径
//toPath,目标路径
- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error ;
<5>移动文件/目录
//moveItemAtPath,移动指定路径下的文件或目录,到另外一个指定的路径
//剪切的同时,也能修改目录或文件的名字
- (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error ;
<6>删除文件/目录
//removeItemAtPath 删除指定路径下的文件夹或者文件
- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error;
<7>获取文件属性
// attributesOfItemAtPath 查看指定目录下的文件或者文件夹的属性
- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)error;
<8>判断文件是否存在
- (BOOL)fileExistsAtPath:(NSString *)path;
2.2 NSFileHandle
NSFileHandle 对文件进行操作,读,写,设置文件指针偏移量的操作
e.g. 1.创建一个文件 Example.txt,放到桌面上
2.通过NSFileHanle 以读写的方式打开文件,并写入内容@“asdf我的”
2方法:
<1>打开文件方法
+ (id)fileHandleForReadingAtPath:(NSString *)path;
//以只写方式打开
+ (id)fileHandleForWritingAtPath:(NSString *)path;
//以读写方式打开
+ (id)fileHandleForUpdatingAtPath:(NSString *)path;
<2>读指定长度的数据
//readDataOfLength 读取指定长度的字符串
//得知,每个汉字在编译器中占三个字节
- (NSData *)readDataOfLength:(NSUInteger)length;
<3>从当前偏移量读到文件尾
//是将文本中所有的数据一次性读到内存中
- (NSData *)readDataToEndOfFile;
<4>设置文件偏移量
//2.txt中的文字abcefg,如果偏移量为2的话,那么就是从c字符往后读
//偏移量的默认值为0
- (void)seekToFileOffset:(unsigned long long)offset;
<5>将文件偏移量定位到文件尾
//将指针指向文本的结尾
- (unsigned long long)seekToEndOfFile;
<6>写文件
//(NSData *)data,内存数据类型
// NSString *string=@“abc”,[string dataUsingEncoding:NSUTF8StringEncoding]
- (void)writeData:(NSData *)data;
<7>关闭文件
// -(void)closeFile;
2.3 NSData
//如果把字符串转化为NSData
NSString *str = @"welcome to beijing";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
//NSData 转化为字符串
NSString *newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
相关文章推荐
- Codeforces Round #317 [AimFund Thanks-Round] (Div. 2) Minimization dp
- 黑马程序员----GUI布局管理
- heartbeat
- programming-challenges Light, more light (110701) 题解
- 【剑指offer】四,二维数组中的查找
- CSS相关图书推荐
- 数据结构_散列表
- 机器学习实践 学习笔记2 Classifying with k-Nearest Neighbors
- C#使用DirectShow实现简单的视频播放
- 数据结构_散列表
- @property属性修饰符
- Fortran相关图书推荐
- JSP相关图书推荐
- Cocos2d相关图书推荐
- R语言相关图书推荐
- MVC+EasyUI实现查询显示到相应表格
- NSDictionary 常用方法
- Lua相关图书推荐
- HTML5相关图书推荐
- 路径动画