IOS文件操作的两种方式:NSFileManager操作和流操作

1、文件的创建

-(IBAction) CreateFile

{

//对于错误信息

NSError *error;

//创建文件管理器

NSFileManager *fileMgr = [NSFileManager defaultManager];

//指向文件目录

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

//创建一个目录

[[NSFileManager defaultManager]createDirectoryAtPath: [NSString stringWithFormat:@"%@/myFolder", NSHomeDirectory()] attributes:nil];

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

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

NSString *filePath= [documentsDirectory

stringByAppendingPathComponent:@"file2.txt"];

//需要写入的字符串

NSString *str= @"iPhoneDeveloper Tips\n,com";

//写入文件

[str writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];

//显示文件目录的内容

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

}

2、对文件重命名

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

3、删除一个文件

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

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

4、删除目录下所有文件

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

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

NSString *path = [document stringByAppendingPathComponent:@"Attchments"];

NSFileManager *manager = [NSFileManager defaultManager];

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

[manager createDirectoryAtPath:path withIntermediateDirectories:NO attributes:nil error:nil];

}

return path;

}

–清除附件BOOL result = [[NSFileManager defaultManager] removeItemAtPath:[[MOPAppDelegate instance] attchmentFolder] error:nil];

IPhone中获取文件各项属性方法

-(NSData *)applicationDataFromFile:(NSString *)fileName{ NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES); NSString *documentsDirectory =[paths objectAtIndex:0]; NSString *appFile =[documentsDirectory stringByAppendingPathComponent:fileName]; NSData *data =[[[NSData alloc]initWithContentsOfFile:appFile]autorelease]; return data;}

-(void)getFileAttributes{NSFileManager *fileManager = [NSFileManager defaultManager];NSString *path = @"/1ct.rtf";NSDictionary *fileAttributes = [fileManager fileAttributesAtPath:path traverseLink:YES]; NSLog(@"@@");if (fileAttributes != nil) { NSNumber *fileSize; NSString *fileOwner, *creationDate; NSDate *fileModDate; //NSString *NSFileCreationDate

//文件大小 if (fileSize = [fileAttributes objectForKey:NSFileSize]) { NSLog(@"File size: %qi\n", [fileSize unsignedLongLongValue]); }

//文件创建日期 if (creationDate = [fileAttributes objectForKey:NSFileCreationDate]) { NSLog(@"File creationDate:%@\n", creationDate); //textField.text=NSFileCreationDate; }

就会犯错误,就会有无数次让自己跌倒的机会出现,

IOS文件操作的两种方式:NSFileManager操作和流操作

相关文章:

你感兴趣的文章:

标签云: