Posted on 2013-01-07 23:24
RTY 閱讀(678)
評論(0) 編輯 收藏 引用 所屬分類:
Mac os 、
轉載隨筆
cocoa中雖然有[[NSFileManager defaultManager] fileExistsAtPath:filename]來檢查文件是否可寫的方法,但是對文件目錄卻不起作用,沒辦法只好自己寫一個比較山寨的方法:
bool IsDirectoryWritable(NSString *dir)
{
bool result = false;
if(![[NSFileManager defaultManager] fileExistsAtPath:dir])
return result;
NSString* fileName = [dir stringByAppendingFormat:@"/ _#t.txt"];
NSData *data = [fileName dataUsingEncoding:NSUTF8StringEncoding];
[data writeToFile:fileName atomically:NO];
result = [[NSFileManager defaultManager] fileExistsAtPath:fileName];
if(result)
{
[[NSFileManager defaultManager] removeItemAtPath:fileName error:NULL];
}
return true;
}
這個方法的不好之處就是有可能用于嘗試的fileName可能已經存在(雖然已經起的很奇怪了
),這樣會導致返回結果不準確,也有可能測試文件創建成功了但是刪除卻失敗了,那么也會導致下次測試不準確,。如果哪位高人有更好的辦法,麻煩指教。