2012-05-24 51 views
2

有沒有辦法打開一個文件,只有在文件不存在之前打開才能成功打開?CreateFile w/CREATE_NEW相當於iOS?

我正在做一些線程化的工作,其中一些文件必須在某個時刻創建。隨機文件名可能有所幫助,但我想,以確保沒有任何碰撞提前

+0

在Windows平臺上所描述的功能是通過與CREATE_NEW標誌CreateFile函數。文檔:http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx –

回答

0

感謝我有你想什麼來完成,但你可以做的不多的想法如下,以檢查是否存在文件: -

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

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

「FILEEXISTS」 將文件是否存在其他無返回值是。

+0

fileExistsAtPath檢查將只保證在函數執行過程中的某一點存在。但是,我想要實現的是打開一個文件進行寫入,如果它不存在,它將打開(然後創建該文件),否則將失敗。因此,即使兩個線程嘗試相同的文件名,只有一個線程會成功獲取寫入文件句柄 –