我正在尝试获取documentDirectory的总文件大小,但fileSize属性没有给我正确的值。然后我尝试获取documentDirectory中所有文件夹的fileSize属性,显然所有文件夹的大小都相同。
由于这两次尝试失败,我决定尝试获取documentDirectory中每个文件(不是文件夹)的值,因此需要遍历每个文件夹,以查找文件。
文件夹结构
documentDirectory
-folder
-file
-file
-file
-folder
-file
-file
-folder
-file
-file
我目前的代码,为了获取documentDirectory中的文件列表如下,我无法弄清楚如何让这段代码按照我的意愿运行。
当前代码
let fileManager = FileManager.default
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let documentsDirectory: AnyObject = paths[0]
do {
let fileNames = try fileManager.contentsOfDirectory(atPath: "\(documentsDirectory)")
for fileName in fileNames {
//do things with the file
}
} catch {
print(error)
}
编辑:这是我用来尝试获取documentDirectory
大小的代码let fileManager = FileManager.default
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let documentsDirectory: AnyObject = paths[0]
var fileSize : UInt64 = 0
do {
let attr : NSDirectory? = try fileManager.attributesOfItem(atPath: documentsDirectory as! String)
if attr != nil {
fileSize = attr!.fileSize()
}
} catch {
print(error)
}