iPhone开发-创建、读取、写入文件 想来相去应该做一个备忘录,开始想用文档,但是最近系统更换频繁macos-windows文件格式不好定义,携带还不方便,于是想起了这个东东,真是人类的服气啊...
今天的东西是如何在iPhone
OS下创建、删除、读取、写入文件
创建与删除: //创建文件管理器 NSFileManager *fileManager = [NSFileManager defaultManager]; //获取路径 //参数NSDocumentDirectory要获取那种路径
NSArray *paths =
NSSearchPathForDirectori NSString *documentsDirectory = [paths objectAtIndex:0];//去处需要的路径
//更改到待操作的目录下
[fileManager
changeCurrentDirectoryPa
//创建文件fileName文件名称,contents文件的内容,如果开始没有内容可以设置为nil,attributes文件的属性,初始为nil [fileManager createFileAtPath:@"fileName" contents:nil attributes:nil];
//删除待删除的文件 [fileManager removeItemAtPath:@"createdNewFile" error:nil];
写入数据: //获取文件路径
NSString *path = [documentsDirectory stringByAppendingPathCom
//待写入的数据 NSString *temp = @"Hello friend"; int data0 = 100000; float data1 = 23.45f;
//创建数据缓冲 NSMutableData *writer = [[NSMutableData alloc] init];
//将字符串添加到缓冲中 [writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];
//将其他数据添加到缓冲中 [writer appendBytes:&data0 length:sizeof(data0)]; [writer appendBytes:&data1 length:sizeof(data1)];
//将缓冲的数据写入到文件中 [writer writeToFile:path atomically:YES]; [writer release];
读取数据: int gData0; float gData1; NSString *gData2;
NSData *reader = [NSData dataWithContentsOfFile:path]; gData2 = [[NSString alloc] initWithData:[reader subdataWithRange:NSMakeRange(0, [temp length])]
[reader getBytes:&gData0 range:NSMakeRange([temp length], sizeof(gData0))]; [reader getBytes:&gData2 range:NSMakeRange([temp length] + sizeof(gData0), sizeof(gData1))];
NSLog(@"gData0:%@
读取工程中的文件: 读取数据时,要看待读取的文件原有的文件格式,是字节码还是文本,我经常需要重文件中读取字节码,所以我写的是读取字节文件的方式。 //用于存放数据的变量,因为是字节,所以是UInt8 UInt8 b = 0;
//获取文件路径 NSString *path = [[NSBundle mainBundle] pathForResource:@"fileName" ofType:@""];
//获取数据 NSData *reader = [NSData dataWithContentsOfFile:path];
//获取字节的个数 int length = [reader length]; NSLog(@"------->bytesLength:%d", length); for(int i = 0; i < length; i++) { //读取数据 [reader getBytes:&b range:NSMakeRange(i, sizeof(b))];
NSLog(@"-------->data%d:%d",
i, b);
}
iphone实现文件的读写操作iphone可以很容易的实现文件的读写,但是如果你没有使用苹果公司99美元开发者sdk的话,你利用破解打出来的api包,安装到手机上不能把文件写入手机.下面是我实现读写的代码:
|