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的更多相关文章
随机推荐
- HT for Web基础动画介绍
在上一篇<基于HT for Web矢量实现3D叶轮旋转>一文中,我略微提了下HT for Web基础动画的相关用法,但是讲得不深入,今天就来和大家分享下HT for Web基础动画的相关介 ...
- 百度地图与HT for Web结合的GIS网络拓扑应用
在<HT for Web整合OpenLayers实现GIS地图应用>篇中介绍了HT for Web与OpenLayers的整合,不少朋友反应国内用得比较多的还是百度地图,虽然HT整合百度地 ...
- WinForm GDI+ 资料收集
UI(User Interface)编程在整个项目开发过程中是个颇为重要的环节,任何好的解决方案若没有良好的用户界面呈现给最终用户,那么就算包含了最先进的技术也不能算是好程序.UI编程体现在两个方面, ...
- LINQ的First与FirstOrDefault方法和Last与LastOrDefault方法。
First与FirstOrDefault的方法,均是返回集合中的第一个元素,区别在于如果没有结果,前者(First)会有抛出异常,后者(FirstOrDefault)会返回默认值.Last与LastO ...
- 【C#】递归搜索指定目录下的指定项目(文件或目录)
---------------更新:201411201121--------------- 主要更新说明:将原bool recurse参数改为int depth,这样可以指定递归深度,而不是笼统的是否 ...
- SSH实例(7)
运行结果. 浏览课程: 添加课程: 还有删除课程,这里就不演示了.
- Pydev Debugger not working with breakpoints
I have a simple test module: print("fish")print("sticks")It runs pretty fast as ...
- 袋鼠过河---DP
题目:一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远,每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5, ...
- Java面试总结系列之Collections.sort()
面试中被问到,集合类中的排序方法是怎么实现的?没有回答上来,故而总结如下:你知道么? 前提:在eclipse中对于自己的代码可以通过按住Ctrl的同时单击名称跳入相应源码中.但eclipse默认没有添 ...
- C语言范例学习04
第三章 算法 前言:许多人对算法的看法是截然不同的,我之前提到过了.不过,我要说的还是那句话:算法体现编程思想,编程思想指引算法. 同时,有许多人认为简单算法都太简单了,应当去学习一些更为实用的复杂算 ...