您的位置:首页 > 其它

OC-054.文件管理器 NSFileManager类

2015-12-17 14:02 495 查看
NSFileManager类 :是一个用于管理文件的类。

下面代码介绍了创建和一些它的方法:

#import <Foundation/Foundation.h>
//NSFileManager是一个单例对象类
int main(int argc, const char * argv[]) {
@autoreleasepool {
//1.获取NSFileManager单例对象, default:系统默认值
NSFileManager *fm = [NSFileManager defaultManager];
NSString *path = @"/Users/mrlong/desktop/铃声";
//2.判断文件或文件夹是否存在 Exists:存在
BOOL isExists = [fm fileExistsAtPath:path];
if (isExists) {
NSLog(@"文件存在");
}

//3.判断是否为文件夹
BOOL isDir = NO; //需创建一个bool储存是否为文件夹
//把isDir的地址放入,需加&。
isExists = [fm fileExistsAtPath:path isDirectory:&isDir];
if (isExists) {
NSLog(@"存在 ,%d",isDir); //判断是否为文件夹,是就打印1,不是打印0
}

//4.判断文件的权限
//4.1是否可读
BOOL isReadable = [fm isReadableFileAtPath:path];
if (isReadable) {
NSLog(@"可读");
}
//4.2是否可写
BOOL isWritable = [fm isWritableFileAtPath:path];
if (isWritable) {
NSLog(@"可写");

}
//5.获取文件或者目录的属性,返回一个字典
NSError *error = nil;
//attributes:...属性 item:项目、条款
NSDictionary *dic = [fm attributesOfItemAtPath:path error:&error];
if (!error) {
NSLog(@"%@",dic);
}

//6.获取文件大小
// NSNumber *num = dic[@"NSFileSize"]; 这里是字典通过键取值
NSNumber *num = dic[NSFileSize];
NSLog(@"%@",num);
//7.获取文件创建时间---详情看字典内部
NSDate *date = dic[NSFileCreationDate];
NSLog(@"%@",date);

//8.拷贝文件
NSString *copyTo = @"/Users/mrlong/desktop/new";
//拷贝的时候确保没有相同的文件夹存在
BOOL isOk = [fm copyItemAtPath:path toPath:copyTo error:&error];
if (isOk) {
NSLog(@"拷贝成功");
}else {
NSLog(@"%@",error);
}
//9.剪切文件---会删除原来的文件夹,把里面的内容剪切进新的文件夹内
NSString *moveTo = @"/Users/mrlong/desktop/铃声新";
BOOL isOk2 = [fm moveItemAtPath:path toPath:moveTo error:&error];
if (isOk2) {
NSLog(@"剪切成功");
}else {
NSLog(@"%@",error);
}

//10.获取NSFileManager单例对象
NSFileManager *fmg = [NSFileManager defaultManager];
//创建目录/Users/apple/Desktop/hhh 通过运行得出创建之前会判断是否存在这个文件夹,如果已经有了,(不知道是也算创建按成功,还是会替换原有文件夹)
NSString *pathNew = @"/Users/mrlong/desktop/hello";
// NSError *error = nil;
//这个方法只能创建文件目录(文件夹)
//withIntermediateDirectories:中间目录要不要创建 写NO是不允许在文件夹内部在创建文件夹
BOOL isSuc = [fmg createDirectoryAtPath:pathNew withIntermediateDirectories:YES attributes:nil error:&error];
if (isSuc) {
NSLog(@"创建成功");
}else{
NSLog(@"%@",error);
}

NSString *pathFile = @"/Users/mrlong/desktop/hello/hello.txt";
NSString *str = @"龙叔叔好帅";
//NSData OC中用于保存二进制数据的,对应图片、视频这些类型的文件只能使用NSData来保存
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@",data);
//这个方法只能创建文件,如果有有同名的,会覆盖同名的文件
isSuc = [fmg createFileAtPath:pathFile contents:data attributes:nil];
if (isSuc) {
NSLog(@"文件创建成功");
}else{
NSLog(@"%@",error);
}

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: