//******************创建了一个文件管理器单例对象*************************
NSFileManager *fileManager = [NSFileManager defaultManager];
NSFileManager *fileManager2 = [NSFileManager defaultManager];
NSLog(@"%p",fileManager);
NSLog(@"%p",fileManager2);
//*************************遍历目录内容****************************
NSString *path = @"/Users/qianfeng/";
NSError *error = nil;
//第一个参数查文件路径:相对路劲或绝对路径
//如果操作失败,这个方法会在内部创建一个error对象
NSArray *files = [fileManager contentsOfDirectoryAtPath:path error:&error];
if (error) {
NSLog(@"文件不存在");
NSLog(@"%@",error);
}else{
//遍历当前传递目录里所有文件
for (id obj in files) {
NSLog(@"%@",obj);
}
}
//*************************深度遍历****************************
error = nil;
NSArray *subFile = [fileManager subpathsOfDirectoryAtPath:path error:&error];
if (error) {
NSLog(@"文件不存在");
}else{
for (id obj in subFile) {
NSLog(@"%@",subFile);
}
}
//***************************创建目录*********************
//createDirectoryAtPath:路径
//withIntermediateDirectories:是否自动创建不存在的目录
//attributes:文件属性
//error:出错处理
BOOL isExist = [fileManager fileExistsAtPath:@"/Users/qianfeng/Desktop/d5"];
if (isExist) {
NSLog(@"目录已经存在");
}else{
BOOL ret = [fileManager createDirectoryAtPath:@"/Users/qianfeng/Desktop/d5/zhang/qianfeng” withIntermediateDirectories:YES attributes:nil error:nil];
if (ret) {
NSLog(@"目录创建成功");
}else{
NSLog(@"目录创建失败");
}
}
//**************获得文件属性**********************
//创建字典类型对象接收文件属性
NSDictionary *fileDic = [fileManager attributesOfItemAtPath:@"/Users/qianfeng/Desktop/d5" error:nil];
NSLog(@"%@",fileDic);
//获取文件扩展名
[obj pathExtension]
//******************打印文件大小****************
NSLog(@"%@",[fileDic objectForKey:NSFileSize]);
//或:
NSLog(@"%llu",[fileDic fileSize]);
//*******************创建文件******************
//createFileAtPath:文件路径
//contents:文件内容
//attributes:文件属性
BOOL isExist = [fileManager fileExistsAtPath:@"/Users/qianfeng/Desktop/d5/haha.hah"];
if (isExist) {
NSLog(@"文件已存在");
}else{
BOOL ret1 = [fileManager createFileAtPath:@"/Users/qianfeng/Desktop/d5/haha.hah" contents:nil attributes:nil];
if (ret1) {
NSLog(@"文件创建成功");
}else{
NSLog(@"文件创建失败");
}
}
//*****************获取目录下所有文件的信息**************
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *fileArray = [fm contentsOfDirectoryAtPath:@"/Users/qianfeng/Desktop" error:nil];
for (NSString *obj in fileArray) {
BOOL ret = [obj hasSuffix:@".txt"];
if (ret) {
NSLog(@"%@",obj);
}
NSLog(@"%@",[obj pathExtension]); //获取文件扩展名
}
//************************文件拷贝************************
//copyItemAtPath:源文件路径
//toPath:目的路径
NSError *error = nil;
[fm copyItemAtPath:@"/Users/qianfeng/Desktop/111.txt" toPath:@"/Users/qianfeng/Desktop/d5/111.txt" error:&error];
if (error) {
NSLog(@"文件已存在");
}else{
NSLog(@"拷贝成功");
}
//**************************文件移动及重命名**************************
//moveItemAtPath:移动的源文件
//toPath:移动的目标文件
//error:错误处理
BOOL ret2 = [fm moveItemAtPath:@"/Users/qianfeng/Desktop/111.txt” toPath:@"/Users/qianfeng/Desktop/d5/112.txt" error:nil];
if (ret2) {
NSLog(@"文件移动成功");
}else{
NSLog(@"文件移动失败");
}
//*****************************文件删除***************************************
//慎用!!!不会删除到废纸篓
bool ret2 = [fm removeItemAtPath:@"/Users/qianfeng/Desktop/d5/112.txt" error:nil];
if (ret2) {
NSLog(@"文件删除成功");
}else{
NSLog(@"文件删除失败”);
}