#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的更多相关文章

随机推荐

  1. ES6笔记(2)-- let的块级作用域

    系列文章 -- ES6笔记系列 一.函数级作用域 我们都知道,在ES6以前,JS只有函数级作用域,没有块级作用域这个概念 没有块级作用域,有利有弊,利于方便自由,弊于作用域内的变量容易被共享,例如这个 ...

  2. 过滤eWebeditor等富文本中html标签,获得纯文本信息

    /// <summary> /// 过滤html标签 /// </summary> /// <param name="Htmlstring">& ...

  3. CaptureManagerSDK

    Simple SDK for capturing, recording and streaming video and audio from web-cams on Windows OS by Win ...

  4. QTableWidget控件总结<二>

    QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC.C#中的DataGrid.说到QTableWidget,就必须讲一下它跟QTabelView的区别了.QTableWidge ...

  5. C#模拟键盘输入(一)

    主要使用了Windows API 实现,你可以在你C盘下的system32文件夹中找到user32.dll,函数的说明在MSDN都有,只需要拿名字去搜一下就行 根据窗口的类名和窗口名称获取窗口句柄,成 ...

  6. 【SQL】分享表值函数FMakeRows,用于生成行

    ------------更新:201501071730------------ 评论中又有一位[笑东风]兄给出改善建议,在此先感谢他.原理是借助行数较多的一个系统视图sys.all_columns与自 ...

  7. Java初识

    基础概念 特点: 完全面向对象,动态 解释性,简单.易移植,跨平台 安全健壮,高性能 多线程,分布式 三种核心机制: Java虚拟机 Java Virtual Machine 垃圾收集机制 Garba ...

  8. SSH实例(4)

    Clas.hbm.xml文件如下: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibe ...

  9. 容器--Map和AbstractMap

    一.前言 前面我们介绍了Collection接口的定义及一系列实现,并重点介绍了List体系下的一些实现,对于Collection来说,其实还有Set系列同样很重要,但由于Set是依赖于Map实现的, ...

  10. 事件委托 documentFragment

    如果有一个列表页,页面结构是外面一个BODY, 里面有一万个子DIV,每个DIV里面有一些文字,这些文字都不相同.需求是,点击一个DIV,要求弹个alert框,将DIV里的文字显示出来.你会怎么做. ...