2

我知道这种方法:resourceValueForKeys给定一个NSURL和一个键数组将为您获取文件的属性......但我需要的是枚举给定NSURL目录中的所有文件并给我属性的东西。

我尝试在NSFileSystem课堂上使用枚举器执行此操作,但无法使其正常工作,有人知道这样做的正确方法吗?...我没有使用 Core Data。

   NSDictionary *values = [fileDirectory resourceValuesForKeys:@[NSURLAttributeModificationDateKey] error:nil];
    NSLog(@"object: %@", values);
4

2 回答 2

5

干得好:

NSString *path = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/your file path"];
NSLog(@"Your path: %@",path);
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSDictionary *attributesOfYourItem = [fileManager attributesOfItemAtPath:path error:&error];
if(error)
    NSLog(@"Error: %@",error);
else
    NSLog(@"Attribute dictionary: %@",attributesOfYourItem);
于 2013-03-09T19:45:03.367 回答
2

枚举给定目录中的所有文件:

NSArray * arrayOfURLs = [fileManager contentsOfDirectoryAtURL:URL includingPropertiesForKeys:@[NSURLIsDirectoryKey,
        NSURLNameKey,NSURLFileSizeKey,NSURLContentModificationDateKey,
        NSURLLocalizedTypeDescriptionKey]
                              options:NSDirectoryEnumerationSkipsHiddenFiles 
                                error:nil];

for ( NSURL file in arrayOfURLs ) {
    NSString * nameOfFile;
    [file getResourceValue:&nameOfFile forKey:NSURLNameKey error:nil];
    NSLog(@"%@", nameOfFile);

    ...... and so forth for the rest of values ...

}

这样,您可以获得文件夹中包含的所有文件的所有值。

于 2013-03-09T19:50:39.237 回答