在Cocoa中,可以使用NSFileManager类来安全地写入给定的文件路径,并在必要时添加数字后缀。以下是一个示例代码:
- (NSString *)uniquePathForPath:(NSString *)path {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *uniquePath = path;
NSInteger suffix = 1;
while ([fileManager fileExistsAtPath:uniquePath]) {
NSString *pathWithoutExtension = [uniquePath stringByDeletingPathExtension];
NSString *extension = [uniquePath pathExtension];
uniquePath = [NSString stringWithFormat:@"%@-%d.%@", pathWithoutExtension, suffix, extension];
suffix++;
}
return uniquePath;
}
这个方法接受一个文件路径作为输入,并返回一个保证不存在的文件路径。如果给定的路径已经存在,则在原始路径的基础上添加数字后缀,直到找到一个不存在的路径。
例如,如果输入路径为/path/to/file.txt
,并且该文件已经存在,则该方法将返回/path/to/file-1.txt
,如果该路径也存在,则将返回/path/to/file-2.txt
,以此类推。
使用这个方法,可以确保在写入文件时不会覆盖已有的文件,从而保证文件的安全性。
领取专属 10元无门槛券
手把手带您无忧上云