天天看点

NSFileHandle、NSFileManager、NSUserDefaults用法

        //沙盒地址        

NSString *filePath = NSHomeDirectory();

//使用NSFileManager创建文件

        //判断文件是否存在,如果不存在,再创建

        if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {

            //创建文件

            [[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];

        }

//使用NSFileHandle写文件,此文件必须已经创建,NSFileHandle是不会创建文件

     NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];

    //将数据插入到写入点

    [fileHandle seekToEndOfFile];

    //数据写入

    [fileHandle writeData:data];

    //关闭文件,确保写入完成

    [fileHandle closeFile];

//使用NSUserDefaults保存数据并同步到文件

    //下载数据的总大小

    double total;

    //接受数据的大小

    double recevieTotal;

   // 本地保存下载文件的大小   和   总文件的大小

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

    [userDefaults setObject:@(recevieTotal) forKey:@"ReceiveTotal"];

    [userDefaults setObject:@(total) forKey:@"Total"];

    //将数据同步写入文件

    [userDefaults synchronize];

    //取出已经保存的下载数据的大小

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

    recevieTotal = [[userDefaults objectForKey:@"ReceiveTotal"] doubleValue];

    total = [[userDefaults objectForKey:@"Total"] doubleValue];