复制 Cocoa 中目录的内容但不包括子目录

发布于 2024-09-03 13:18:34 字数 41 浏览 2 评论 0原文

在Cocoa中,有没有办法复制目录中的所有文件而不复制目录的子目录?

In Cocoa, is there any way to copy all the files in a directory without copying the directory's subdirectories along with them?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乖乖哒 2024-09-10 13:18:34

一种方法是根据 NSFileManager 的结果有条件地复制目录中的项目 -fileExistsAtPath:isDirectory:

NSFileManager *manager = [NSFileManager defaultManager];
NSArray *files = [manager contentsOfDirectoryAtPath:pathFrom error:nil];

for (NSString *file in files) {
    NSString *fileFrom = [pathFrom stringByAppendingPathComponent:file];
    BOOL isDir;

    if (![manager fileExistsAtPath:fileFrom isDirectory:&isDir] || isDir) {
        continue;
    }

    NSString *fileTo = [pathTo stringByAppendingPathComponent:file];
    NSError  *error  = nil;
    [manager copyItemAtPath:fileFrom toPath:fileTo error:&error];
    if (error) // ...
}

One way would be to copy items in the directory conditionally based on the results of NSFileManagers -fileExistsAtPath:isDirectory::

NSFileManager *manager = [NSFileManager defaultManager];
NSArray *files = [manager contentsOfDirectoryAtPath:pathFrom error:nil];

for (NSString *file in files) {
    NSString *fileFrom = [pathFrom stringByAppendingPathComponent:file];
    BOOL isDir;

    if (![manager fileExistsAtPath:fileFrom isDirectory:&isDir] || isDir) {
        continue;
    }

    NSString *fileTo = [pathTo stringByAppendingPathComponent:file];
    NSError  *error  = nil;
    [manager copyItemAtPath:fileFrom toPath:fileTo error:&error];
    if (error) // ...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文