Posted on 2013-01-07 23:24
RTY 阅读(664)
评论(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可能已经存在(虽然已经起的很奇怪了),这样会导致返回结果不准确,也有可能测试文件创建成功了但是删除却失败了,那么也会导致下次测试不准确,。如果哪位高人有更好的办法,麻烦指教。