黑马程序员技术交流社区
标题:
新人笔记3
[打印本页]
作者:
snowimba
时间:
2015-10-10 23:54
标题:
新人笔记3
1、文件操作
1)NSFileManager概念
文件管理类
常见的文件操作,可读,可写,创建,删除,剪贴
使用的是单例模式
快速创建对象
2)基本使用
// 1)文件是否存在目录里面的权限
NSFileManager *fm = [NSFileManager defaultManager];
if ([fm fileExistsAtPath:filePath]) {
// 判断是否是一个目录
BOOL isDir;
if ([fm fileExistsAtPath:filePath1 isDirectory:&isDir]) {
NSLog(@"YES");
}else NSLog(@"NO");
}
// 2)文件是否可读目录里面的权限
if ([fm isReadableFileAtPath:filePath1]) {
NSLog(@"rYES");
}else NSLog(@"rNO");
// 3)文件是否可写目录里面的权限
if ([fm isWritableFileAtPath:filePath1]) {
NSLog(@"wYES");
}else NSLog(@"wNO");
// 4)文件是否可以删除目录里面的权限
if ([fm isDeletableFileAtPath:filePath1]) {
NSLog(@"dYES");
}else NSLog(@"dNO");
}
2、文件访问
NSFileManager *fm = [NSFileManager defaultManager];
NSString *dirPath = @"/Users/snowimba/Desktop/project/06_text";
NSString *filePath = @"/Users/snowimba/Desktop/dict.plist";
// 1)获取文件属性,信息
NSDictionary *dict = [fm attributesOfItemAtPath:filePath error:nil];
NSLog(@"%@",dict);
NSLog(@"NSFileOwnerAccountName=%@",dict[@"NSFileOwnerAccountName"]);
// 2)获取指定目录下文件及子目录,
// 这个方法是使用递归的方法获取的信息
NSArray *arr =[fm subpathsAtPath:dirPath];
// 这个不是用递归方式获取的信息(建议用这个)
NSArray *arr1 = [fm subpathsOfDirectoryAtPath:dirPath error:nil];
// 3)只获取当前目录下文件件
//
NSArray *arr2 = [fm contentsOfDirectoryAtPath:dirPath error:nil];
NSLog(@"%@",arr2);
3、实用方法,复制,删除····
// 如何创建目录
NSString *createDirPath = @"/Users/snowimba/Desktop/xxx/love.data";
// createDirectoryAtPath:@"路径" withIntermediateDirectories:NO\YES(是否自动补全路径缺少目录) attributes:字典属性 error:错误对象
// if([fm createDirectoryAtPath:createDirPath withIntermediateDirectories:YES attributes:nil error:nil]){
// NSLog(@"YES");
// }
// 如何创建文件
// NSString *str = @"爱世界";
// NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
// if ([fm createFileAtPath:createDirPath contents:data attributes:nil]){
//
// NSLog(@"YES");
// }
// 如何copy文件
// NSString *sPath = @"/Users/snowimba/Desktop/xxx/aaa/love.data";
// if ([fm copyItemAtPath:createDirPath toPath:sPath error:nil]){
// NSLog(@"YES");
// }
// 如何移动文件
NSString *ssPath = @"/Users/snowimba/Desktop/love.data";
[fm moveItemAtPath:createDirPath toPath:ssPath error:nil];
// 如何删除文件
NSString *ssPath = @"/Users/snowimba/Desktop/love.data";
[fm removeItemAtPath:ssPath error:nil];
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2