2

当文件在打开之前不存在时,有没有办法成功打开文件进行只写?

我正在做一些线程工作,在某些时候必须创建一些文件。随机文件名可能会有所帮助,但我想确保没有冲突

提前致谢

4

2 回答 2

0

我不太了解您要完成的工作,但您可以执行以下操作来检查文件是否存在:-

NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

NSString *yourFile = [docPath stringByAppendingPathComponent:@"yourFilewithExtension"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:yourFile];

如果文件存在,“fileExists”将返回yes,否则返回no。

于 2012-05-24T10:32:08.883 回答
0

在模式字符串中附加“x”

最后,作为标准的扩展(因此可能不可移植),模式字符串可以以字母x'', which insists on creating a new file when used withw'' 或 ``a'' 结尾。如果路径存在,则返回错误(这相当于使用 open(2) 指定 O_EXCL)。

http://developer.apple.com/library/Mac/#documentation/Darwin/Reference/ManPages/man3/fopen.3.html

于 2012-11-21T09:03:41.683 回答