Pot*_*ter 3 objective-c nsurl nsfilemanager
NSFileManager removeItemAtURL仅执行递归删除.非空目录没有特殊处理.
如何通过事先测试条件来仅删除空目录?有contentsOfDirectoryAtPath一个文件列表,可能是空的,但这是过度的.
或者,是否有一个功能,只有在空的情况下才能将其删除,就像好的一样rmdir?啊,我可以称之为......
你必须使用它,如果你想留在基金会的土地,没有别的办法.
但是如果你这样做,你会引入竞争条件:在列出目录的内容之后,在删除它之前,其他一些程序可能会在那里写一个新文件然后被删除.因此,您必须接受删除文件夹(包括其所有内容)或您必须查找其他API的事实.
您可以使用POSIX rmdir函数来实现这样的目标:
NSString *path = [url path];
int result = rmdir( [path fileSystemRepresentation] );
if (result == 0) // everything ok
else // lookup error code from errno
Run Code Online (Sandbox Code Playgroud)
如果目录不为空,则会收到错误代码ENOTEMPTY.
| 归档时间: |
|
| 查看次数: |
1706 次 |
| 最近记录: |