文件目录问题?

时间:2010-03-23 04:54:25

标签: iphone

当我将数据(53MB)写入文档目录时,当我直接通过应用程序支持路径检查时,不会写入数据。我这样编码,

   - (BOOL)writeApplicationData:(NSData *)data toFile:(NSString *)fileName
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
if (!documentsDirectory) {
    NSLog(@"Documents directory not found!");
    return NO;
}
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
return ([data writeToFile:appFile atomically:YES]);

} 它运行正常,但是当我使用以下代码读取数据时,数据为空,请帮助吗?

 - (NSData *)applicationDataFromFile:(NSString *)fileName {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
NSData *myData = [[[NSData alloc] initWithContentsOfFile:appFile] autorelease];
return myData;

}

1 个答案:

答案 0 :(得分:1)

代码正在为我工​​作(在一个小的下载)。

有些想法,你是通过网络下载53MB的吗?也许你想在它完成之前阅读它?写入文件时的“原子”标志表示:

  

如果是,则将数据写入备份文件,然后 - 假设没有发生错误 - 将备份文件重命名为path指定的名称;否则,数据将直接写入路径。

如果您正在下载此异步并且无法使用部分结果,则可能需要等待它完成。否则你可以原子地设置:NO并读取部分结果。

相关问题