Ily*_*ski 0 iphone objective-c
我想将日志字符串记录到文件中.
我实现了以下方法:
void QuietLog (NSString *format, ...) {
if (format == nil) {
printf("nil\n");
return;
}
va_list argList;
va_start(argList, format);
NSMutableString *s = [[NSMutableString alloc] initWithFormat:format
arguments:argList];
[s replaceOccurrencesOfString: @"%%"
withString: @"%%%%"
options: 0
range: NSMakeRange(0, [s length])];
#ifdef LOGTOFILE_MODE
NSData *dataToWrite = [s dataUsingEncoding: NSUTF8StringEncoding];
[dataToWrite writeToFile: Log_FilePath atomically: YES];
#else
printf("%s\n", [s UTF8String]);
#endif
[s release];
va_end(argList);
}
Run Code Online (Sandbox Code Playgroud)
writeToFile方法替换之前使用最后一个字符串的文件中的所有数据.但我想保留以前添加的数据并添加一个新字符串.
writeToFile有什么问题?为什么要覆盖所有现有数据?如何添加新字符串而不是覆盖旧字符串?
谢谢.
如何使用NSFileHandle,因此:
NSData *dataToWrite = [s dataUsingEncoding: NSUTF8StringEncoding];
NSFileHandle* outputFile = [NSFileHandle fileHandleForWritingAtPath:Log_FilePath];
[outputFile seekToEndOfFile];
[outputFile writeData:dataToWrite];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4211 次 |
| 最近记录: |