我想从文件夹中复制一些文件。所以我扫描该文件夹中的文件。但是我得到了所有细节,比如应用程序的“contents”文件夹和下面的所有文件。如果我复制一个应用程序,所有归属的东西也将被复制。所以我喜欢只获取根文件。在任何地方都有选择吗?
这是查询代码:
func getFolderEnumerator(directoryUrl:NSURL) -> NSDirectoryEnumerator?
{
let fileManger = NSFileManager()
let keys = [NSURLIsDirectoryKey]
let handler = {
(url:NSURL!,error:NSError!) -> Bool in
print(error.localizedDescription)
if url != nil {
print(url.absoluteString)
}
return true
}
let enumerator = fileManger.enumeratorAtURL(
directoryUrl, includingPropertiesForKeys:
keys, options: NSDirectoryEnumerationOptions(),
errorHandler:handler)
return enumerator
}
下一个功能是:
func getFileNames(enumerator:NSDirectoryEnumerator, exts:[String]) -> Array<NSURL>
{
var files = [NSURL]()
while let url = enumerator.nextObject() as? NSURL
{
var isDirectory = ObjCBool(false)
let exists = NSFileManager.defaultManager().fileExistsAtPath(
url.path!, isDirectory: &isDirectory)
if exists == true && isDirectory.boolValue == false {
files.append(url)
}
}
return files
}
答案 0 :(得分:0)
在
的选项中使用.SkipsPackageDescendantsif let enumerator = fileManger.enumeratorAtURL(
directory, includingPropertiesForKeys: keys, options: options, errorHandler:handler)