Foundation 之 NSFileManager

创建一个文件并写入内容,比如在桌面上创建一个文件 lff.txt,并写入内容:My name is LFF:

NSString *str = @”My name is LFF”; NSError *error;
BOOL isWritSuccess = [str writeToFile:@”/User/LFF/Desktop/lff.txt” atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (isWritSuccess) {
   NSLog(@”创建成功”); 
}
else { NSLog(@”error %@”,error); }

通过上面代码成功创建了一个文件,下面步入正题:

1、打印文件创建日期与大小

NSFileManager * fileManager = [NSFileManager defaultManager];
NSString * path = @"/ User/LFF/Desktop/lff.txt ";
NSError * error;
NSDictionary * dic = [fileManager attributesOfItemAtPath:path error:&error];
NSLog(@"dic %@",dic);
if (error == nil) { NSDate * date = [dic objectForKey:NSFileCreationDate]; NSString * size = [dic objectForKey:NSFileSize]; NSLog(@" date = %@, size = %@",date,size); }

2、获得目录下的文件与子文件目录列表

(1)获得目标目录下,第一级目录

NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/aplle/Desktop/Myfile";
NSError * error;
NSArray * array = [fileManager contentsOfDirectoryAtPath:path error:&error];
NSLog(@"array %@",array);

(2)逐级获得所有子集的目录

NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/aplle/Desktop/other";
NSError * error;
NSArray * array = [fileManager subpathsOfDirectoryAtPath:path error:&error];
NSLog(@"array %@",array);

3、管理目录
(1)创建目录

NSFileManager * fileManager = [NSFileManager defaultManager];
NSString * path = @"/Users/LFF/Desktop/myfolder/aaa";
NSError * error;
/*withIntermediateDirectories 参数:
YES 逐级创建文件夹
NO 表示只能够创建一级目录*/
BOOL isCreateSuccess = [fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error];
if (isCreateSuccess) {
    NSLog(@"创建成功");
}else {
    NSLog(@"error %@",error); 
}

(2)移动目录 移动就是剪切操作

NSFileManager * fileManager = [NSFileManager defaultManager];
NSString * path = @"/Users/aplle/Desktop/myfolder";
NSString * pathTo = @"/Users/aplle/Desktop/newmyfolder";
NSError * error ;
BOOL isMoveSuccess = [fileManager moveItemAtPath:path toPath:pathTo error:&error]; 
if (isMoveSuccess)
{
    NSLog(@"移动成功");
} else {
    NSLog(@"error %@",error);
}

(3)删除

NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/aplle/Desktop/newmyfolder"; NSError * error;
BOOL isRemoveSuccess =
[fileManager removeItemAtPath:path error:&error];
if (isRemoveSuccess)

{
NSLog(@"删除成功");

} else {

NSLog(@"erro %@",error);

}

(4)拷贝文件

NSFileManager * fileManager = [NSFileManager defaultManager];
NSString * path = @"/Users/aplle/Desktop/myfolder";
NSString * pathTo = @"/Users/aplle/Desktop/newmyfolder";
NSError * error;
BOOL isCopySuccess = [fileManager copyItemAtPath:path toPath:pathTo error:&error]; if(isCopySuccess)

{
NSLog(@"拷贝成功");

} else {

NSLog(@"error %@",error);

}

猜你喜欢

转载自www.cnblogs.com/cindyli/p/9078016.html