-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
-----------并不是生来就是大神、代码量决定一切、其他都是假象、-----------
问:为什么要学习NSFileManage?
答: 学完之后你就能明白 平时我们用的创建文件夹 、文件 、复制 剪贴 查找 等功能到底是怎么形成的了
学习重点:多敲记住方法
NSString *path = @"/Users/lulu/Desktop/4.txt";
//创建文件管理
NSFileManager *fileManage = [NSFileManager defaultManager];
//判断是否存在这个文件
BOOL istxt = [fileManage fileExistsAtPath:path];
NSString *path1 = @"/Users/lulu/Desktop/4.txt";
NSString *path2 = @"/usr";
//定义一个bool类型来判断是否时文件目录
BOOL isDir;
BOOL isExist = [fileManage fileExistsAtPath:path1 isDirectory:&isDir];
//文件或者文件夹是否可读
BOOL isRead = [fileManage isReadableFileAtPath:path1];
NSLog(@"%d",isRead);
//判断文件后者文件夹是否可写
BOOL isWrite = [fileManage isWritableFileAtPath:path1];
NSLog(@"%d",isWrite);
//判断文件或者文件夹是否可以删除
BOOL isDelete = [fileManage isDeletableFileAtPath:path2];
NSLog(@"%d",isDelete);
NSString *path1 = @"/Users/lulu/Desktop/";
NSFileManager *fileManage1 = [NSFileManager defaultManager];
//获取文件或者文件夹的属性
NSDictionary *ary = [fileManage attributesOfItemAtPath:path error:nil];
//NSLog(@"%@",ary);
//查找指定目录下的所有文件 返回数组 然后转换成string 打印出来
NSArray *array = [fileManage subpathsAtPath:path1];
//path== @"/Users/lulu/Desktop/3.txt" 将查询的结果打印到3.txt
[array writeToFile:path atomically:YES];
//获取当前路径下的所有直接子路径的内容 想到雨dos中的dir
NSArray *arr = [fileManage contentsOfDirectoryAtPath:path1 error:nil];
NSLog(@"%@",arr);
----------------------------------------------------------------------------------------------------------------------------------------
//copy 如果目录已存在同名文件,则无法复制
//思路:拷贝1个文件到另外一个目录,如果目标目录有相同文件名存在 责拷贝失败。
//如果拷贝失败责作,提示是否覆盖当前文件,个人理解的覆盖就是 删除+拷贝
//如果确定覆盖 那就删除目标目录的同名文件 然后拷贝进来 完了
//创建两个地址 拷贝的目标文件和开背的目标地址
NSString *sourcePath = @"/Users/lulu/Desktop/1.txt";
NSString *GoalPath = @"/Users/lulu/Desktop/goodluck/1.txt";
//判断拷贝是否成功
BOOL flag = [fileManage moveItemAtPath:sourcePath toPath:GoalPath error:nil];
if(flag)//成功直接提示
{
NSLog(@"文件拷剪贴成功");
}else{//不成功则进入这里
NSLog(@"是否覆盖文件,1覆盖,0不覆盖");
int a = 0;//设定一个变量用来接收 是否覆盖文件的指令
scanf("%d",&a);
if(a)//如果覆盖 责进入
{
BOOL isdelete = [fileManage removeItemAtPath:GoalPath error:nil];//删除目标目录的同名文件
if(is delete)//如果删除成功责进入
{
NSLog(@"删除成功");//监听
BOOL move = [fileManage moveItemAtPath:sourcePath toPath:GoalPath error:nil];//重新复制
if(move)//监听
{
NSLog(@"覆盖成功");
}
}else{
NSLog(@"失败");
}
}
}