English 中文(简体)
在我尝试写给我之后,档案就存在。
原标题:File doesn t exist after I try and write to it IOS
  • 时间:2012-05-10 14:38:08
  •  标签:
  • ios
  • ios5

我有一份现有文件,我希望删除其内容,然后再次写到,但只是按行文读。 我的守则不能确定为什么不工作:

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试图写上字面的文件在我进行人工检查后就存在。

最佳回答

Your file handle writes to the I/O buffer which will not instantly write to disk. Because io is slow this is efficiency built into file handle objects. To ensure it writes to disk you must flush the io buffer using synchronizeFile. You also need to call closeFile when you are done with the file handle (which will also synchronize, so the synchronize is optional).

问题回答

暂无回答




相关问题
List Contents of Directory in a UITableView

I am trying to list the contents of Ringtones directory in a TableView, however, I am only getting the last file in the directory in ALL cells, instead of file per cell. This is my code: - (...

iPhone NSUserDefaults persistance difficulty

In my app i have a bunch of data i store in the NSUserdefaults. This information consists of an NSObject (Object1) with NSStrings and NSNumbers and also 2 instances of yet another object (Object2). ...

Writing a masked image to disk as a PNG file

Basically I m downloading images off of a webserver and then caching them to the disk, but before I do so I want to mask them. I m using the masking code everyone seems to point at which can be found ...

Resize UIImage with aspect ratio?

I m using this code to resize an image on the iPhone: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:...

Allowing interaction with a UIView under another UIView

Is there a simple way of allowing interaction with a button in a UIView that lies under another UIView - where there are no actual objects from the top UIView on top of the button? For instance, ...

热门标签