我有一份现有文件,我希望删除其内容,然后再次写到,但只是按行文读。 我的守则不能确定为什么不工作:
if ([filemgr removeItemAtPath: fileName error: NULL] == YES){
NSLog (@"Remove successful");
}
else{
NSLog (@"Remove failed");
}
NSString *cachePath = [[NSString alloc] initWithFormat:@"%@",fileName];
NSFileHandle *fileHandler = [NSFileHandle fileHandleForUpdatingAtPath:cachePath];
BOOL isFirst = NO;
for(id entry in serializedObjects){
NSString *sectionName = [NSString stringWithFormat:@"!%@
", entry];
[fileHandler writeData:[sectionName dataUsingEncoding:NSUTF8StringEncoding]];
if (!isFirst) {
[fileHandler seekToEndOfFile];
isFirst = YES;
}
NSArray *list = [serializedObjects objectForKey:entry];
for (int i = 0; i < list.count; i++) {
NSString *line = [[list objectAtIndex:i] stringByAppendingString:@"
"];
[fileHandler writeData:[line dataUsingEncoding:NSUTF8StringEncoding]];
}
[fileHandler writeData:[[NSString stringWithFormat:@"%@", @"~
"] dataUsingEncoding:NSUTF8StringEncoding]];
}
[fileHandler closeFile];
我的想法是把第一行写到档案中,并对他人进行传阅。 是否有任何人看到我在这里做错?
在这种方法完成后,我看不到任何错误,但Im试图写上字面的文件在我进行人工检查后就存在。