是否会覆盖写入或写入失败?
NSData * pdfData = [[NSData alloc] initWithData:[PDFImageConverter convertImageToPDF: [image image]]];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString * filename = sharedManager.localFileName; //file name already exists
NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:filename];
[pdfData writeToFile:pdfPath atomically:YES];
[pdfData release];
答案 0 :(得分:10)
如果写成功,它将被覆盖。请注意,如果atomically设置为YES,则写入失败时原始文件不会被损坏。如果atomically设置为NO,它将会。
答案 1 :(得分:2)
如果你想检查文件是否存在,并想在存储另一个pdf之前删除,那么以下是代码
BOOL success = [FileManager fileExistsAtPath:zipPath];
if(success){
[FileManager removeItemAtPath:zipPath error:&error];
}
答案 2 :(得分:0)
在这种特殊情况下,它会覆盖。但是还有其他一些框架' API,将数据写入现有文件将失败。 例如,
[[PHAssetResourceManager defaultManager] writeDataForAssetResource:toFile:options:completionHandler:];
因此API与API不同。