当文件在打开之前不存在时,有没有办法成功打开文件进行只写?
我正在做一些线程工作,在某些时候必须创建一些文件。随机文件名可能会有所帮助,但我想确保没有冲突
提前致谢
当文件在打开之前不存在时,有没有办法成功打开文件进行只写?
我正在做一些线程工作,在某些时候必须创建一些文件。随机文件名可能会有所帮助,但我想确保没有冲突
提前致谢
我不太了解您要完成的工作,但您可以执行以下操作来检查文件是否存在:-
NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *yourFile = [docPath stringByAppendingPathComponent:@"yourFilewithExtension"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:yourFile];
如果文件存在,“fileExists”将返回yes,否则返回no。
在模式字符串中附加“x”
最后,作为标准的扩展(因此可能不可移植),模式字符串可以以字母
x'', which insists on creating a new file when used with
w'' 或 ``a'' 结尾。如果路径存在,则返回错误(这相当于使用 open(2) 指定 O_EXCL)。
http://developer.apple.com/library/Mac/#documentation/Darwin/Reference/ManPages/man3/fopen.3.html