我需要不时地将一些数据写入文件,然后附加到文件中.
现在我有:
BOOL ok = [[NSString stringWithFormat:@"%f",raw] writeToFile:path atomically:YES encoding:NSUnicodeStringEncoding error:&error];
Run Code Online (Sandbox Code Playgroud)
我怎么能在文件末尾追加新内容raw
?
Pet*_*wis 20
这是一个NSString类别方法,它将接收器附加到具有指定编码的指定路径(通常是NSUTF8StringEncoding).
- (BOOL) appendToFile:(NSString *)path encoding:(NSStringEncoding)enc;
{
BOOL result = YES;
NSFileHandle* fh = [NSFileHandle fileHandleForWritingAtPath:path];
if ( !fh ) {
[[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil];
fh = [NSFileHandle fileHandleForWritingAtPath:path];
}
if ( !fh ) return NO;
@try {
[fh seekToEndOfFile];
[fh writeData:[self dataUsingEncoding:enc]];
}
@catch (NSException * e) {
result = NO;
}
[fh closeFile];
return result;
}
Run Code Online (Sandbox Code Playgroud)
一种方法是使用fileHandleForWritingAtPath:方法获取NSFileHandle,将NSString转换为NSData,然后在将文件指针移动到文件末尾后,在NSFileHandle上调用writeData:.
归档时间: |
|
查看次数: |
5170 次 |
最近记录: |