您的位置:首页 > 职场人生

黑马程序员--NSFileManage

2015-10-17 12:54 387 查看
-----------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(@"失败");

}

}

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