-------------------
1文件管理器的创建
-------------------
NSFileManager类的 +defaultManager方法.
返回一个NSFileManager的单例
用法:
//创建一个NSFileManager的单例
NSFileManager *fileManager = [NSFileManager defaultManager];
-----------------------
2浅度遍历文件和文件夹
-----------------------
NSFileManager对象的
-contentsOfDirectoryAtPath:
error:
方法,返回一个NSArray对象的地址.
C语言中的exit( )函数. //需要导入#include<stdlib.h>头文件.
用法:
#define PATH @"/Users/tongwang/Desktop" //这句要写在函数外面
NSError *error = nil;
//查看目录下的文件和文件夹
NSArray *array = [fileManager contentsOfDirectoryAtPath:PATH error:&error];
//文件读写要报错
if(error)
{
NSLog(@" %@",error );
exit(-1);
}
NSLog(@" %@",array );
-----------------------
3深度遍历文件和文件夹
-----------------------
NSFileManager对象的
-subpathsOfDirectoryAtPath:
error:
方法,返回一个NSArray对象的地址.
用法:
array = [fileManager subpathsOfDirectoryAtPath:PATH error:&error];
//文件读写要报错
if(error)
{
NSLog(@" %@",error );
exit(-1);
}
NSLog(@" %@",array );
-----------
4创建目录
-----------
NSFileManager对象的
-createDirectoryAtPath: //需要创建的目录名.
withIntermediateDirectories: //是否创建多级目录.
attributes: //目录的属性设置.
error: //文件读写报错.
方法.
用法:
[fileManager
createDirectoryAtPath:[NSString stringWithFormat:@" %@/aaa/bbb",PATH ]
withIntermediateDirectories:NO /*如果为NO,创建多级目录时,将会报错.*/
atrributes:nil
error:&error];
-----------
5创建文件
-----------
NSFileManager对象的
-createFileAtPath: //只能创建文件,不能创建目录
contents: //需要接收一个NSData类型的对象
attributes: //文件属性设置
方法.
用法:
[fileManager
createFileAtPath:[NSString stringWithFormat:@" %@/aaa/bbb/file",PATH ]
contents:[@"hello world!" dataUsingEncoding:NSUTF8StringEncoding]
attributes:nil];
注意:
1.这个方法,只能创建文件,不能创建目录,也没有报错机制.
2.当参数contents:nil为空时,可以创建一个空文件.
-----------------
6删除目录和文件
-----------------
NSFileManager对象的
-removeItemAtPath: //目录中有文件,将把文件和目录一起删除
error: //文件删除报错
方法.
用法:
[fileManager
removeItemAtPath:[NSString stringWithFormat:@" %@/aaa",PATH ]
error:&error];
//删除文件报错
if (error) {
NSLog(@" %@",error );
exit(-1);
}
//技巧,把报错抽取为宏定义
#define ERROR(a) if(a){NSLog(@" %@",a);exit(-1 );}
ERROR(error)
注意:
这种删除,相当于使用rm –rf命令.
-----------------
7拷贝目录和文件
-----------------
NSFileManager对象的
-copyItemAtPath: //源目录或文件
toPath: //目标目录或文件
error: //文件复制报错
用法:
fileManager copyItemAtPath:[NSString stringWithFormat:@" %@/TestOC",PATH ]
toPath:[NSString stringWithFormat:@" %@/newPath",PATH ]
error:&error];
//复制出错
if (error) {
NSLog(@" %@",error ); //目标文件或目录名已存在,将会报错.
exit(-1);
};
注意:
如果存在同名的目录或文件,将会报错.
-----------------
8移动目录和文件
-----------------
NSFileManager对象的
-moveItemAtPath: //源目录或文件
toPath: //目标目录或文件
error: //移动出错
方法.
用法:
[fileManager moveItemAtPath:[NSString stringWithFormat:@" %@/newPath.txt",PATH ]
toPath:[NSString stringWithFormat:@" %@/111/aaa",PATH ]
error:&error];
//移动出错
if()
{
NSLog(@" %@",error ); //目标文件或目录名已存在,将会报错.
exit(-1);
}
注意:
1.这个方法,可以给目录或文件重命名.
2.目标文件或目录名已存在,将会报错.
-----------------------------------------