我在文档目录中创建了一个文本文件,其中包含200个日志/行(使用分隔符来使用字符串分隔数据)。我想将前50个记录转移到另一个文件中,并将剩下的150个记录保存在同一个文件中。
我想到了一个逻辑,说
NSString *logString = [[NSString alloc]initWithContentsOfFile:logFilePath encoding:NSUTF8StringEncoding error:nil];
NSArray *logsArray = [logString componentsSeparatedByString:@"[;]"];
[@"" writeToFile:logFilePath atomically:YES encoding:NSUTF8StringEncoding error:&error];
for (int i=0; i<=[logsArray count];i++){
if(i<=50){
"write to new file"
}
else{
"write to old file"
}
}
这个逻辑可以正常工作。我担心的是,由于我正在清空并重写我的文件,因此我很有可能丢失数据。我已经创建了太多文件来备份我的数据。有没有办法处理这种情况?
谢谢 - Arun.AR
答案 0 :(得分:1)
这样,您始终可以保留原始文件,直到结束。如果发生了某些事情(崩溃等),你总是拥有所有的线条。它们可能位于不同的文件中,但您可以随时通过更多逻辑将它们取回。
实际上,最后150个对象的编写可以由Cocoa框架以原子方式完成,但这些步骤是它的要点。