——黑马程序员——OC中Foundation下NSFileManager的使用
2015-11-11 11:31
756 查看
-----------android培训、java培训、java学习型技术博客、期待与您交流!-----------
OC中Foundation下NSFileManager的使用
NSFileManager 使用了单例模式singletion
单例对象:在文件运行期间只有一个对象存在
使用defaultManager方法可以获得那个单例对象
[NSFileManager defaultManager];
NSString *filePath = @"/User/administator/Desktop/.....";
//(1)创建文件管理对象
//(2)调用defaultManager创建一个文件管理的单例对象
单例对象:在文件运行期间只有一个对象存在
NSFileManager *fm = [NSFileManager defaultManager ];
//(3)判断文件是否存在
BOOL isYES = [ fm fileExistsAtPath: filePath ]; // 返回值是BOOL类型的,YES时表示存在,
//2、文件是否是一个目录
if (isYES){
BOOL isDir;
[ fm fileExistsAtPath isDirectory: &isDir];
if(isDir){
NSLog(@"这是一个目录");
}else{
NSLog(@"这是不一个目录");
}
}
// 3、判断文件是否可读
BOOL isred = [ fm isReadableFileAtPath: filePath ];
// 4、判断文件是否可写
BOOL iswrit = [fm isWritableFileAtPath: filePath];
// 5、判断文件是否可删除
BOOL isdele = [fm isDeleatableFileAtPath:filePath];
[ fm attributesOfItemAtPath: filePath error :nil]; 返回值是一个字典类型,
// 2、获取指定目录下的文件及子目录
[fm subpathAtPath: filePath ];
此方法使用的递归的方式,获取当前目录及子目录下的所有文件及文件夹,递归的方式效率低,耗内存
[fm subpathOfDirectoryAtPath:filePath ];
此方法不是使用的递归的方式,获取当前目录及子目录下的所有文件及文件夹,推荐使用此方法,
// 3、获取指定目录的下的子目录,而不获取后代元素
[fm contentsOfDirectoryAtPath: filePath error nil];
4、NSFileManager 创建目录
创建文件管理对象
NSFileManager *fm = [NSFileManager defaultManager ];
[fm createDirectorAtPath:(@"路径") withIntermediateDirectories:(YES或者NO,创建路径的时候如果没有路径就会直接创建一个路径)attributes:(文件属性的字典) error:(错误对象) ];
[fm createDirectorAtPath:(@"路径") withIntermediateDirectories:YES
attributes: nil error:nil];
返回值是BOOL类型的
5、NSFileManager创建文件
[ fm createFileAtPath: @"路径" contents: (NSDate 类型的数据) attributes:文件属性的字典];
// 创建NSData 或者将NSString类型的转换为NSData类型 ,NSData是处理二进制数据的一个类
NSString *str = @"黑马训练营黑马程序员";
NSData *data = [ str dataUsingEncoding: NSUTF8StringEncoding ]; // 将str 转换为NSData 类型的数据
[ fm createFileAtPath: @"路径" contents: attributes:data
attributes: nil ];
在某个目录下创建文件并把 str 写入到文件中去
6、NSFileManager如何 copy文件
[ fm copyItemAtPath: (NSString *)路径 toPath: (NSString *)路径 error:(NSString *)];
7、NSFileManager移动文件
[fm moveIterAtPath: @“路径” toPath :@“另一路径” error (NSString *)];
8、NSFileManager删除文件
[fm removeIterAtPath: @“路径” error (NSString *)];
OC中Foundation下NSFileManager的使用
一、NSFileManager介绍
OC 中用来管理文件系统,是文件管理类;类似C语言中的文件操作、NSFileManager 使用了单例模式singletion
单例对象:在文件运行期间只有一个对象存在
使用defaultManager方法可以获得那个单例对象
[NSFileManager defaultManager];
二、NSFileManagner基本用法中常见判断
// 1、文件是否存在NSString *filePath = @"/User/administator/Desktop/.....";
//(1)创建文件管理对象
//(2)调用defaultManager创建一个文件管理的单例对象
单例对象:在文件运行期间只有一个对象存在
NSFileManager *fm = [NSFileManager defaultManager ];
//(3)判断文件是否存在
BOOL isYES = [ fm fileExistsAtPath: filePath ]; // 返回值是BOOL类型的,YES时表示存在,
//2、文件是否是一个目录
if (isYES){
BOOL isDir;
[ fm fileExistsAtPath isDirectory: &isDir];
if(isDir){
NSLog(@"这是一个目录");
}else{
NSLog(@"这是不一个目录");
}
}
// 3、判断文件是否可读
BOOL isred = [ fm isReadableFileAtPath: filePath ];
// 4、判断文件是否可写
BOOL iswrit = [fm isWritableFileAtPath: filePath];
// 5、判断文件是否可删除
BOOL isdele = [fm isDeleatableFileAtPath:filePath];
三、NSFileManager 的创建目录及深入用法
// 1、获取文件的属性[ fm attributesOfItemAtPath: filePath error :nil]; 返回值是一个字典类型,
// 2、获取指定目录下的文件及子目录
[fm subpathAtPath: filePath ];
此方法使用的递归的方式,获取当前目录及子目录下的所有文件及文件夹,递归的方式效率低,耗内存
[fm subpathOfDirectoryAtPath:filePath ];
此方法不是使用的递归的方式,获取当前目录及子目录下的所有文件及文件夹,推荐使用此方法,
// 3、获取指定目录的下的子目录,而不获取后代元素
[fm contentsOfDirectoryAtPath: filePath error nil];
4、NSFileManager 创建目录
创建文件管理对象
NSFileManager *fm = [NSFileManager defaultManager ];
[fm createDirectorAtPath:(@"路径") withIntermediateDirectories:(YES或者NO,创建路径的时候如果没有路径就会直接创建一个路径)attributes:(文件属性的字典) error:(错误对象) ];
[fm createDirectorAtPath:(@"路径") withIntermediateDirectories:YES
attributes: nil error:nil];
返回值是BOOL类型的
5、NSFileManager创建文件
[ fm createFileAtPath: @"路径" contents: (NSDate 类型的数据) attributes:文件属性的字典];
// 创建NSData 或者将NSString类型的转换为NSData类型 ,NSData是处理二进制数据的一个类
NSString *str = @"黑马训练营黑马程序员";
NSData *data = [ str dataUsingEncoding: NSUTF8StringEncoding ]; // 将str 转换为NSData 类型的数据
[ fm createFileAtPath: @"路径" contents: attributes:data
attributes: nil ];
在某个目录下创建文件并把 str 写入到文件中去
6、NSFileManager如何 copy文件
[ fm copyItemAtPath: (NSString *)路径 toPath: (NSString *)路径 error:(NSString *)];
7、NSFileManager移动文件
[fm moveIterAtPath: @“路径” toPath :@“另一路径” error (NSString *)];
8、NSFileManager删除文件
[fm removeIterAtPath: @“路径” error (NSString *)];
相关文章推荐
- JAVA面试题大全(高级)
- web前端面试题
- 这些 iOS 面试基础题目,你都深入了解吗?
- 程序员的职业素养
- 面试过程中可能会被问到的问题(答案)
- P163、面试题29:数组中出现次数超过一半的数字
- 不要自称是程序员,我十多年的 IT 职场总结
- 程序员的未来将何去何从
- 获得 1000 个赞的程序员高薪职业建议
- java面试
- 2002年,程序员和 Unix 大神们的桌面长啥样?
- 26种迹象你该考虑辞掉程序员的工作
- ——黑马程序员——OC中Foundation框架NSDictionary的使用
- 这些棘手的面试问题该如何回答?
- JAVA面试题大全(高级)
- java面试题及答案
- Java面试题库整理版
- Java技术体系大全,准备面试的可以参考一下!
- 黑马程序员——反射及包
- 黑马程序员-JAVA基础-关键字