NSFileManeger
#define PATH @"/Users/wenhua/testdir"
// 删除, 复制 剪切 这些行为都是管理文件的行为
//创建文件
void createFile(void)
{
//文件管理器类, 一个app中只需要一个这样的管理器对象,即单例
NSFileManager *fm =[NSFileManager defaultManager];
//创建文件
// fm createFileAtPath:<#(NSString *)#> contents:<#(NSData *)#> attributes:<#(NSDictionary *)#>
[fm createFileAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/first.txt"] contents:[@"abcde" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
}
//创建文件夹
void createDir(void)
{
//文件管理器类, 一个app中只需要一个这样的管理器对象,即单例
NSFileManager *fm =[NSFileManager defaultManager];
//创建文件夹
// fm createDirectoryAtPath:<#(NSString *)#> withIntermediateDirectories:<#(BOOL)#> attributes:<#(NSDictionary *)#> error:<#(NSError *__autoreleasing *)#>
NSError *error=nil;
[fm createDirectoryAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/middle/newdir"] withIntermediateDirectories:YES attributes:nil error:&error];
if (error!=nil) {
NSLog(@"%@",error);
return;
}
}
//删除文件
void rmFile(void)
{
//文件管理器类, 一个app中只需要一个这样的管理器对象,即单例
NSFileManager *fm =[NSFileManager defaultManager];
//删除
// fm removeItemAtPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>
NSError *error=nil;
[fm removeItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/first.txt"] error:&error];
if (error) {
NSLog(@"%@",error);
}
}
//复制文件
void cpFile(void)
{
//文件管理器类, 一个app中只需要一个这样的管理器对象,即单例
NSFileManager *fm =[NSFileManager defaultManager];
//复制
// fm copyItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>
NSError* error=nil;
//复制文件
[fm copyItemAtPath:@"/Users/xiaozai/Desktop/test.plist" toPath:[NSString stringWithFormat:@"%@%@",PATH,@"/test.plist"] error:&error];
if (error) {
NSLog(@"%@",error);
}
//复制文件夹
[fm copyItemAtPath:@"/Users/xiaozai/Desktop/deskdir" toPath:[NSString stringWithFormat:@"%@%@",PATH,@"/deskdir"] error:&error];
if (error) {
NSLog(@"%@",error);
}
}
//剪切文件
void mvFile(void)
{
//剪切,移动
// fm moveItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>
//文件管理器类, 一个app中只需要一个这样的管理器对象,即单例
NSFileManager *fm =[NSFileManager defaultManager];
NSError *error=nil;
[fm moveItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/test.plist"] toPath:@"/Users/xiaozai/Desktop/test.plist" error:&error];
if (error) {
NSLog(@"%@",error);
}
[fm moveItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/deskdir"] toPath:@"/Users/xiaozai/Desktop/deskdir" error:&error];
if (error) {
NSLog(@"%@",error);
}
}
// 文件是否存在于某个路径
bool isFileExistAtPath()
{
NSString *path = [NSString stringWithFormat:@"%@/file.zip", NSHomeDirectory()];
NSFileManager *fm = [ NSFileManager defaultManager];
return [fm fileExistsAtPath:path];
}
// 若创建未出错,那一定就会返回TRUE了
//遍历某个目录
void travelListDir(void)
{
NSFileManager *fm = [ NSFileManager defaultManager];
NSError* error=nil;
// 浅层遍历目录
NSArray* retArray =[fm contentsOfDirectoryAtPath:PATH error:&error];
if (error) {
NSLog(@"%@",error);
}
NSLog(@"retArray:%@",retArray);
// 深层遍历目录
NSArray * array2= [fm subpathsOfDirectoryAtPath:@"/Users/wenhua/work/oc/19day" error:&error];
NSEnumerator * enumerator = [ array2 objectEnumerator];
id obj;
while (obj=[enumerator nextObject]) {
NSLog(@"%@",obj);
}
}
void otherMethods(void)
{
NSFileManager *fm = [ NSFileManager defaultManager];
//获取app的当前工作路径
NSLog(@"本程序的当前工作路径为:%@",[fm currentDirectoryPath]);
//传一个文件(夹)的绝对路径,得到一个文件(夹)名
NSLog(@"%@",[fm displayNameAtPath:PATH]);
}
NSFileManeger的更多相关文章
随机推荐
- [译]学习IPython进行交互式计算和数据可视化(一)
--学习IPython进行交互式Python编程.高性能数字计算和数据可视化 作者:Cyrille Rossant 译者:Tacey Wong 注:仅为个人翻译及学习,多有谬处,E文尚可的推荐阅读英文 ...
- Winform如何实现ComboBox模糊查询
最近朋友问了一个关于Winform实现ComboBox模糊查询的知识点,自己好久没有搞Winform了,就上手练了一下,废话不多说,进入正题. 前台设计: 前台就是一个简单的Form窗体+一个Comb ...
- “Win10 UAP 开发系列”之主题模式切换
微软动作真是快,本来想写WP8.1RT系列,结果刚整理了一点就出Win10 UAP了.不过还好RT到Win10的差别还不算太大.前两天参加了Win10开发极客秀,虽然没获奖,不过在韦恩卑鄙的帮助下顺利 ...
- javascript日期验证:填写的日期大于等于当前日期
<script> $(function () { var d = new Date(); var strDate = getDateStr(d); $("#beginTime&q ...
- asp.net MVC4的执行流程
MVC在底层和传统的asp.net是一致的,在底层之上,相关流程如下: 1)Global.asax里,MvcApplication对象的Application_Start()事件中,调用 RouteC ...
- android布局属性详解
RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_cen ...
- 百度地图自定义Marker
最近写了百度地图的Demo,所以总结下遇到的问题: 1.首先在百度地图中创建应用时用到 发布版SHA1是在Preferences下的Android下的Build中;2.在使用百度地图时,先要创建一个A ...
- Android事件处理机制
包括监听和回调两种机制. 1. 基于监听的事件处理: 事件监听包含三类对象,事件源,事件,事件监听器.Android的事件处理机制是一种委派式(Delegation)事件处理方式:普通组件(事件源)将 ...
- HDU 5703 Desert 水题 找规律
已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现是找规律的题了= =都是2的n-1次方,而且这 ...
- iOS 获取网络图片的大小
一直都在找关于获取网络图片的大小的方法, 今天找到了一个能解决的办法 ,如下 1, 导入框架 #import <ImageIO/ImageIO.h> 2. 使用此方法得到image的siz ...