首页>>iPhone >>开发
IPhone之NSFileManager的使用
楼:1
九品仙
2011-8-22 20:08:55
IPhone之NSFileManager的使用
http://blog.sina.com.cn/s/blog_545b80040100v46p.html

1、文件的创建

 

-(IBAction) CreateFile

{

//对于错误信息

NSError *error;

// 创建文件管理器

NSFileManager *fileMgr = [NSFileManager defaultManager];

//指向文件目录

NSString *documentsDirectory= [NSHomeDirectory()stringByAppendingPathComponent:@"Documents"];


//创建一个目录

[[NSFileManagerdefaultManager]  createDirectoryAtPath: [NSStringstringWithFormat:@"%@/myFolder", NSHomeDirectory()]attributes:nil];


// File we want to create in the documentsdirectory我们想要创建的文件将会出现在文件目录中

// Result is: /Documents/file1.txt结果为:/Documents/file1.txt

NSString *filePath= [documentsDirectory

stringByAppendingPathComponent:@"file2.txt"];

//需要写入的字符串

NSString *str= @"iPhoneDeveloperTipsnhttp://iPhoneDevelopTips,com";

//写入文件

[str writeToFile:filePath atomically:YESencoding:NSUTF8StringEncoding error:&error];

//显示文件目录的内容

NSLog(@"Documentsdirectory: %@",[fileMgrcontentsOfDirectoryAtPath:documentsDirectoryerror:&error]);


}

 


 

 

2、对文件重命名

 

对一个文件重命名
想要重命名一个文件,我们需要把文件移到一个新的路径下。下面的代码创建了我们所期望的目标文件的路径,然后请求移动文件以及在移动之后显示文件目录。
//通过移动该文件对文件重命名
NSString *filePath2=[documentsDirectory
stringByAppendingPathComponent:@"file2.txt"];
//判断是否移动
if ([fileMgr moveItemAtPath:filePathtoPath:filePath2 error:&error] != YES)
NSLog(@"Unable to move file: %@", [errorlocalizedDescription]);
//显示文件目录的内容
NSLog(@"Documentsdirectory:%@",
[fileMgrcontentsOfDirectoryAtPath:documentsDirectoryerror:&error]);

 

 

3、删除一个文件

 


为了使这个技巧完整,让我们再一起看下如何删除一个文件:
//在filePath2中判断是否删除这个文件
if ([fileMgr removeItemAtPath:filePath2error:&error] != YES)
NSLog(@"Unable to delete file: %@", [errorlocalizedDescription]);
//显示文件目录的内容
NSLog(@"Documentsdirectory:%@",
[fileMgrcontentsOfDirectoryAtPath:documentsDirectoryerror:&error]);
一旦文件被删除了,正如你所预料的那样,文件目录就会被自动清空:

这些示例能教你的,仅仅只是文件处理上的一些皮毛。想要获得更全面、详细的讲解,你就需要掌握NSFileManager文件的知识。


 

 

4、删除目录下所有文件

 

//获取文件路径
- (NSString*)attchmentFolder{

NSString *document =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];

NSString *path = [documentstringByAppendingPathComponent:@"Attchments"];


NSFileManager *manager = [NSFileManager defaultManager];


if(![manager contentsOfDirectoryAtPath:path error:nil]){

[manager createDirectoryAtPath:pathwithIntermediateDirectories:NO attributes:nil error:nil];

}


return path;

}

 

--清除附件
BOOL result = [[NSFileManagerdefaultManager] removeItemAtPath:[[MOPAppDelegate instance]attchmentFolder] error:nil];