IOS学习笔记2015-04-03OC-API-文件读写

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

////WPFileHelper.m//OC-API-文件操作////Created by wangtouwang on 15/4/3.//Copyright (c) 2015年 wangtouwang. All rights reserved.//#import"WPFileHelper.h"@implementationWPFileHelper+(NSString *)getFileToString:(int)tag{

NSString*result ;//目标 读取字符型文件 例如后缀.txtif(tag==0) {//方法1 使用 NSStringNSError *error;

NSString*filePath =@"/Users/wangtouwang/Desktop/OC-控件.txt";

result= [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];if(error) {

NSLog(@"read error ,the error is %@",error);

}else{

NSLog(@"read success,the file content is %@",result);

}

}elseif(tag==1){//方法2 使用 NSFileManagerNSString *filePath =@"/Users/wangtouwang/Desktop/OC-控件.txt";

NSFileManager*manager=[NSFileManager defaultManager];

NSData*data =[manager contentsAtPath:filePath];

result=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];//NSLog(@"%@",result);}elseif(tag==2){//方法3 NSFileHandleNSString *filePath =@"/Users/wangtouwang/Desktop/OC-控件.txt";

NSFileHandle*handler =[NSFileHandle fileHandleForReadingAtPath:filePath];

NSData*data =[handler readDataToEndOfFile];

result=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

[handler closeFile];//NSLog(@"%@",result);}elseif(tag==3){//方法4 NSDataNSString *filePath =@"/Users/wangtouwang/Desktop/OC-控件.txt";//NSDataReadingMappedIfSafe参数。使用这个参数后,iOS就不会把整个文件全部读取的内存了,而是将文件映射到进程的地址空间中,//这么做并不会占用实际内存。这样就可以解决内存满的问题。NSData *data=[NSData dataWithContentsOfFile:filePath options:nil error:nil];

result=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];//NSLog(@"%@",result);}returnresult;

}+(NSData *) getFileToData:(int)tag{

NSData*result =nil;//目标 读取二进制文件 例如 图片NSString *imagePath =@"/Users/wangtouwang/Desktop/TEMP/51sPBOtpQ0L._SL500_AA300_.jpg";if(tag==0) {//方法1 NSDataresult =[NSData dataWithContentsOfFile:imagePath];//NSInteger len = result.length;//NSLog(@"长度 = %lu",len);}elseif(tag ==1){//方法2 NSFileHandleNSFileHandle *handle =[NSFileHandle fileHandleForReadingAtPath:imagePath];

result=[handle readDataToEndOfFile];

[handle closeFile];//方法3 NSFileManager}elseif(tag==2){

NSFileManager*manger =[NSFileManager defaultManager];

result=[manger contentsAtPath:imagePath];

}returnresult;

}+(void)writerFileByString:(NSString *)str{

NSString*content =str;

NSString*filePath =@"/Users/wangtouwang/Desktop/新文件.txt";//写入字符型文件 例如后缀.txt 假如文件不存在依然成功inttag =3;if(tag==0) {//方法1 NSString[content writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

}elseif(tag==1){//方法2 NSFileHandle 假如文件不存在会失败NSData *data =[content dataUsingEncoding:NSUTF8StringEncoding];

NSFileHandle*handle =[NSFileHandle fileHandleForWritingAtPath:filePath];

[handle writeData:data];

[handle closeFile];

}elseif(tag==2){//方法3 NSFileManager 假如文件不存在依然成功NSFileManager *manager =[NSFileManager defaultManager];

BOOL flag=[manager createFileAtPath:filePath contents:[content dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];if(flag) {

NSLog(@"写入成功");

}

}elseif(tag==3){//方法4 NSMutableData 假如文件不存在依然成功NSMutableData *writer =[[NSMutableData alloc] init];

[writer appendData:[content dataUsingEncoding:NSUTF8StringEncoding]];

[writer writeToFile:filePath atomically:YES];

}

}+(void)writerFileByData:(NSData *)data{//写入二进制文件 例如图片NSString *filePath =@"/Users/wangtouwang/Desktop/新文件.jpg";inttag =2;if(tag==0) {//方法1 NSData[data writeToFile:filePath atomically:YES];

}elseif(tag==1){//方法2 NSFileHanle 假如文件不存在则会失败,应该先判断是否存在,再看是否需要创建NSFileHandle *handle =[NSFileHandle fileHandleForWritingAtPath:filePath];

[handle writeData:data];

[handle classCode];

}elseif(tag==2){//方法3 NSFileManagerNSFileManager *manager=[NSFileManager defaultManager];

[manager createFileAtPath:filePath contents:data attributes:nil];

}elseif(tag==3){//方法4 NSMutableDataNSMutableData *writer =[[NSMutableData alloc] init];

[writer appendData:data];

[writer writeToFile:filePath atomically:YES];

}

}@end

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航