• 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返回当前文件的偏移量。选择忽略这个值,如果需要,可以使用这个信息来获得程序中文件的大小
  • 相关阅读:
    今天是元旦啊
    [待解决]python 函数加括号和不加括号的区别
    Jupyter Notebook的快捷键列表误操作发现的新大陆
    Series选择和过滤
    做鸢尾花切片练习中的'&'问题:(&,|)和(and,or)
    报错合集
    关于随机数种子seed的问题尽量使用numpy下的seed
    pandas创建Series序列/hashable
    在jupyter notebook中插入截图
    xml反序列化时,如何生成与之对应的类文件
  • 原文地址:https://www.cnblogs.com/cnsec/p/11515832.html
Copyright © 2020-2023  润新知