IOS 文件读写操作详解及简单实例
iPhone文件读写操作
1,写文件操作
-(IBAction)btnWrite:(id)sender{
//创建文件管理器
NSFileManager*fileManager=[NSFileManagerdefaultManager];
//获取路径
//参数要获取的哪种路径
NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString*documentDirectory=[pathsobjectAtIndex:0];//去除需要的路径
//更改到操作的目录下
[fileManagerchangeCurrentDirectoryPath:[documentDirectorystringByExpandingTildeInPath]];
//创建文件fileName文件名称,contents文件内容,如果开始没有内容可以设置为nil,attributes文件的属性,初始为nil
[fileManagercreateFileAtPath:@"fileName"contents:nilattributes:nil];
//删除待删除文件
[fileManagerremoveItemAtPath:@"createNewFile"error:nil];
//获取文件路径
NSString*path=[documentDirectorystringByAppendingPathComponent:@"fileName"];
NSLog(@"path==%@",path);
//待写入的数据
NSString*temp=@"Helloworld";
intdata0=1000000;
floatdata2=23.23f;
//创建数据缓冲
NSMutableData*writer=[[NSMutableDataalloc]init];
//将字符串添加到缓冲中
[writerappendData:[tempdataUsingEncoding:NSUTF8StringEncoding]];
[writerappendBytes:&data0length:sizeof(data0)];
[writerappendBytes:&data2length:sizeof(data2)];
[writerwriteToFile:pathatomically:YES];
[writerrelease];
}
2,读文件操作
-(IBAction)btnRead:(id)sender{
//创建文件管理器
NSFileManager*fileManager=[NSFileManagerdefaultManager];
//获取路径
//参数要获取的哪种路径
NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString*documentDirectory=[pathsobjectAtIndex:0];//去除需要的路径
//更改到操作的目录下
[fileManagerchangeCurrentDirectoryPath:[documentDirectorystringByExpandingTildeInPath]];
//创建文件fileName文件名称,contents文件内容,如果开始没有内容可以设置为nil,attributes文件的属性,初始为nil
[fileManagercreateFileAtPath:@"fileName"contents:nilattributes:nil];
//删除待删除文件
[fileManagerremoveItemAtPath:@"createNewFile"error:nil];
//获取文件路径
NSString*path=[documentDirectorystringByAppendingPathComponent:@"fileName"];
NSLog(@"path==%@",path);
//待写入的数据
NSString*temp=@"Helloworld";
intdata0=1000000;
floatdata2=23.23f;
//创建数据缓冲
NSMutableData*writer=[[NSMutableDataalloc]init];
//将字符串添加到缓冲中
[writerappendData:[tempdataUsingEncoding:NSUTF8StringEncoding]];
[writerappendBytes:&data0length:sizeof(data0)];
[writerappendBytes:&data2length:sizeof(data2)];
[writerwriteToFile:pathatomically:YES];
[writerrelease];
//读取操作
intgData0;
floatgData1;
NSString*gData2;
NSData*reader=[NSDatadataWithContentsOfFile:path];
gData2=[[NSStringalloc]initWithData:[readersubdataWithRange:NSMakeRange(0,[templength])]encoding:NSUTF8StringEncoding];
[readergetBytes:&gData0range:NSMakeRange([templength],sizeof(gData0))];
[readergetBytes:&gData1range:NSMakeRange([templength]+sizeof(gData0),sizeof(gData1))];
NSLog(@"gData0==%d",gData0);
NSLog(@"gData1==%f",gData1);
NSLog(@"gData2==%@",gData2);
//lblText.text=gData2;
}
iphone实现文件的读写操作
iphone可以很容易的实现文件的读写,但是如果你没有使用苹果公司99美元开发者sdk的话,你利用破解打出来的api包,安装到手机上不能把文件写入手机.下面是我实现读写的代码:
#import"ManagerFile.h"
@implementationManagerFile
-(void)writeFile:(NSString*)file
{
//创建文件管理器
NSFileManager*fileManager=[NSFileManagerdefaultManager];
//获取路径
//参数NSDocumentDirectory要获取那种路径
NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString*documentsDirectory=[pathsobjectAtIndex:0];//去处需要的路径
//更改到待操作的目录下
[fileManagerchangeCurrentDirectoryPath:[documentsDirectorystringByExpandingTildeInPath]];
//创建文件fileName文件名称,contents文件的内容,如果开始没有内容可以设置为nil,attributes文件的属性,初始为nil
//获取文件路径
[fileManagerremoveItemAtPath:@"username"error:nil];
NSString*path=[documentsDirectorystringByAppendingPathComponent:@"username"];
//创建数据缓冲
NSMutableData*writer=[[NSMutableDataalloc]init];
//将字符串添加到缓冲中
[writerappendData:[filedataUsingEncoding:NSUTF8StringEncoding]];
//将其他数据添加到缓冲中
//将缓冲的数据写入到文件中
[writerwriteToFile:pathatomically:YES];
[writerrelease];
}
-(NSString*)readFile
{
//创建文件管理器
NSFileManager*fileManager=[NSFileManagerdefaultManager];
//获取路径
//参数NSDocumentDirectory要获取那种路径
NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString*documentsDirectory=[pathsobjectAtIndex:0];//去处需要的路径
//更改到待操作的目录下
[fileManagerchangeCurrentDirectoryPath:[documentsDirectorystringByExpandingTildeInPath]];
//获取文件路径
NSString*path=[documentsDirectorystringByAppendingPathComponent:@"username"];
NSData*reader=[NSDatadataWithContentsOfFile:path];
return[[NSStringalloc]initWithData:reader
encoding:NSUTF8StringEncoding];
}
@end
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!