我正在尝试打开一个文件进行写入.该文件可能不存在.
我发现如果文件不存在,[NSFileHandle fileHandleForWritingAtPath:filePath]返回nil.
谷歌搜索后,我找到了这样的代码片段
[[NSData data] writeToFile:filePath atomically:YES]
我想,在打开它之前,确保文件存在.
我的问题是:后一个代码行推荐的文件创建方式是什么?看起来很奇怪NSFileHandle没有例程来创建一个新文件(并且只能处理现有文件).
解决方法
NSFileHandle可能没有创建文件的方法,但NSFileManager有一个.你看过那堂课吗?
这适用于我,但请注意,它每次都会覆盖相同的文件
NSString *cachesFolder = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) lastObject]; NSString *file = [cachesFolder stringByAppendingPathComponent:@"testfile"]; [[NSData data] writeToFile:file options:NSDataWritingAtomic error:nil];