Objective c 将文件树结构转换为NSDictionary
我试图将完整的文件/文件夹结构(从给定文件夹开始)读入Objective c 将文件树结构转换为NSDictionary,objective-c,cocoa,nsdictionary,nsfilemanager,property-list,Objective C,Cocoa,Nsdictionary,Nsfilemanager,Property List,我试图将完整的文件/文件夹结构(从给定文件夹开始)读入NSDictionary(使用NSArrays等),如下所示: 假设起始文件夹是:/Users/some user/some path 我们进入其中,列出所有文件夹/子文件夹/文件 A/ 文件a.txt 文件_b.txt 子文件夹/ 文件_c.txt B/ 等等 我想要的是将此文件结构(可能使用枚举数和NSFileManager)转换为NSDictionary,如: <key>folder</key> &l
NSDictionary
(使用NSArray
s等),如下所示:
假设起始文件夹是:/Users/some user/some path
我们进入其中,列出所有文件夹/子文件夹/文件
A/
- 文件a.txt
- 文件_b.txt
- 子文件夹/
- 文件_c.txt
- 等等
NSFileManager
)转换为NSDictionary
,如:
<key>folder</key>
<string>A</string>
<key>values</key>
<array>
<dict>
<key>file</key>
<string>file_a.txt</string>
<key>url</key>
<string>/Users/some-user/some-path/A/file_a.txt</string>
</dict>
<dict>
<key>file</key>
<string>file_b.txt</string>
<key>url</key>
<string>/Users/some-user/some-path/A/file_b.txt</string>
</dict>
<dict>
<key>folder</key>
<string>subfolder</string>
<key>values</key>
<array>
...
</array>
</dict>
</array>
文件夹
A.
价值观
文件
文件a.txt
网址
/用户/某些用户/某些路径/A/file_A.txt
文件
文件_b.txt
网址
/用户/某些用户/某些路径/A/file_b.txt
文件夹
子文件夹
价值观
...
有什么想法吗?这就是工作的结果: 要检查路径是否为目录/包/捆绑包等,请执行以下操作:
- (BOOL)isDir:(NSString*)path
{
BOOL isDir;
if (([[NSFileManager defaultManager]
fileExistsAtPath:path isDirectory:&isDir] && isDir) ||
([[NSWorkspace sharedWorkspace] isFilePackageAtPath:path]))
return YES;
else
return NO;
}
实际函数(使用递归):
这就是工作的结果: 要检查路径是否为目录/包/捆绑包等,请执行以下操作:
- (BOOL)isDir:(NSString*)path
{
BOOL isDir;
if (([[NSFileManager defaultManager]
fileExistsAtPath:path isDirectory:&isDir] && isDir) ||
([[NSWorkspace sharedWorkspace] isFilePackageAtPath:path]))
return YES;
else
return NO;
}
实际函数(使用递归):
我看到您已将问题标记为
nsfilemanager
nsfilemanager
拥有完成此任务所需的所有方法,因此我不确定您还需要知道什么。事实上,我成功地做到了(稍后我将发布完整答案);但是,我在检查路径是否为文件夹时仍然遇到问题。。。你能帮我吗?我看到您已将问题标记为nsfilemanager
nsfilemanager
拥有完成此任务所需的所有方法,因此我不确定您还需要知道什么。事实上,我成功地做到了(稍后我将发布完整答案);但是,我在检查路径是否为文件夹时仍然遇到问题。。。你能帮我吗?