zoukankan      html  css  js  c++  java
  • writeToFile  NSFileHandle  文件的写入

    [writer writeToFile:logPath atomically:YES];这句是往文件里面写数据  这都是覆盖式写入的

    atomically的YES 或 NO  :YES 表示保证文件的写入原子性,就是说会先创建一个临时文件,直到文件内容写入成功再导入到目标文件里.
                             NO  则直接写入目标文件里.


    如果要采用追加式的文件写入,也就是不覆盖原文件的内容  可以采用NSFileHandle:

    #import
    02  
    03 int main(int argc, const char * argv[])
    04 {
    05  
    06     @autoreleasepool {
    07       
    08         NSFileHandle *inFile, *outFile;
    09         NSData *buffer;
    10          
    11         //打开fileA用于读操作
    12         inFile = [NSFileHandle fileHandleForReadingAtPath:@"fileA.txt"];
    13          
    14         if(inFile == nil)
    15         {
    16             NSLog(@"Open of fileA.txt reading failed");
    17             return 1;
    18         }
    19          
    20         //打开fileB用于更新操作
    21         outFile = [NSFileHandle fileHandleForWritingAtPath:@"fileB.txt"];
    22          
    23         if(outFile == nil)
    24         {
    25             NSLog(@"Open of fileB for writing failed");
    26             return  2;
    27         }
    28          
    29         //找到并定位到outFile的末尾位置(在此后追加文件)
    30         [outFile seekToEndOfFile];
    31          
    32         //读取inFile并且将其内容写到outFile中
    33         buffer = [inFile readDataToEndOfFile];
    34         [outFile writeData:buffer];
    35         
    36         //关闭读写文件
    37         [inFile closeFile];
    38         [outFile closeFile];
    39          
    40          
    41  
    42     }
    43     return 0;
    44 }

    在搜索操作执行完毕之后,seekToEndOfFile返回当前文件的偏移量。选择忽略这个值,如果需要,可以使用这个信息来获得程序中文件的大小
  • 相关阅读:
    java之SpringBoot配置多数据源,使用dynamicdatasourcespringbootstarter和mybatisplusbootstarter,查了很多都不行,就这个可用。
    IntelliJ IDEA——数据库集成工具(Database)的使用
    opencv 截取视频
    linux 环境中cat命令进行关键字搜索
    composer 安装 指定php版本
    【高中经验分享】2021.11.29
    达梦数据库远程网页访问
    BERT代码阅读
    watchdog用于监测系统服务是否挂掉,挂掉则自动重启
    BERT模型+rabbitmq队列,进行实时预测,防止每次预测都重新加载图
  • 原文地址:https://www.cnblogs.com/cnsec/p/11515832.html
Copyright © 2011-2022 走看看