实现思路
- 获取指定目录路径,在Mac OS系统中,可以通过
NSFileManager
的相关方法来获取桌面目录路径。
- 使用
NSFileManager
的contentsOfDirectoryAtPath:error:
方法来获取指定目录下的所有文件和文件夹的名称数组。
- 遍历这个名称数组,将每个名称与指定目录路径拼接,形成完整的文件路径。
- 将所有完整的文件路径存储到一个
NSMutableArray
中。
- 最后返回这个包含所有文件路径的数组。
核心代码
#import <Foundation/Foundation.h>
NSArray *getAllFilePathsInDirectory(NSString *directoryPath) {
NSMutableArray *filePaths = [NSMutableArray array];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *contents = [fileManager contentsOfDirectoryAtPath:directoryPath error:&error];
if (error) {
NSLog(@"获取目录内容失败: %@", error);
return nil;
}
for (NSString *fileName in contents) {
NSString *fullPath = [directoryPath stringByAppendingPathComponent:fileName];
[filePaths addObject:fullPath];
}
return filePaths;
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);
NSString *desktopPath = paths.firstObject;
NSArray *filePaths = getAllFilePathsInDirectory(desktopPath);
if (filePaths) {
for (NSString *path in filePaths) {
NSLog(@"%@", path);
}
}
}
return 0;
}