NSData缓存的使用

    NSString *fileName = @"testFileNSFileMangager.txt";
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex: 0];
   
    NSString *path = [documentsDirectory stringByAppendingPathComponent:fileName];//获取文件路径

    NSString *temp = @"nihao 世界";//要写入的数据
   
   
    int dataInt = 1234;
    float dataFloat = 3.14f;
   
    NSMutableData *writer = [[NSMutableDataalloc]init];//建立缓存
   
    [writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];
    [writer appendBytes:&dataInt length:sizeof(dataInt)];
    [writer appendBytes:&dataFloat length:sizeof(dataFloat)];//将数据添加到缓存区
   
    [writer writeToFile:path atomically:YES];//将缓存区数据写入文件
   
   
    int intData;
    float floatData = 0.0;
    NSString *stringData;
   
    NSData *reader = [NSDatadataWithContentsOfFile:path];
    if (reader == nil) {
        NSLog(@"data read failed");
    }
    stringData = [[NSStringalloc] initWithData:[reader subdataWithRange:NSMakeRange(0, [temp lengthOfBytesUsingEncoding:NSUTF8StringEncoding])] encoding:NSUTF8StringEncoding];//注意在长度返回时使用lengthOfBytesUsingEncoding:NSUTF8StringEncoding方法即可
    NSLog(@"%i",[temp length]);
    [reader getBytes:&intData range:NSMakeRange([temp lengthOfBytesUsingEncoding:NSUTF8StringEncoding], sizeof(intData))];
    [reader getBytes:&floatData range:NSMakeRange([temp lengthOfBytesUsingEncoding:NSUTF8StringEncoding] + sizeof(intData), sizeof(floatData))];
   
    NSLog(@"string %@ intData %d floatData %f",stringData,intData,floatData);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值