object-c 獲得目錄(包括子目錄)下所有檔案

來源:互聯網
上載者:User

標籤:

vector<string> getAllFileNamesInDirectory(){

    //ref to: http://stackoverflow.com/questions/5749488/iterating-through-files-in-a-folder-with-nested-folders-cocoa

    NSFileManager *fileManager = [[[NSFileManager alloc] init] autorelease];

    NSURL *directoryURL = [NSURL URLWithString:@"toolKitRes/model"];   // URL pointing to the directory you want to browse

    NSArray *keys = [NSArray arrayWithObject:NSURLIsDirectoryKey];

    

    NSDirectoryEnumerator *enumerator = [fileManager

                                         enumeratorAtURL:directoryURL

                                         includingPropertiesForKeys:keys

                                         options:0

                                         errorHandler:^(NSURL *url, NSError *error) {

                                             // Handle the error.

                                             // Return YES if the enumeration should continue after the error.

                                             return YES;

                                         }];

    vector<string> fullPathList;

    for (NSURL *url in enumerator) {

        NSError *error;

        NSNumber *isDirectory = nil;

        if (! [url getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:&error]) {

            // handle error

        }

        else if (! [isDirectory boolValue]) {

            // No error and it’s not a directory; do something with the file

            NSString *str_NS=[url absoluteString];

          ////  NSLog(@"%@",str_NS);

            

            string fullPath=[str_NS cStringUsingEncoding:NSASCIIStringEncoding];

            

            fullPathList.push_back(fullPath);

        }

    }

    return fullPathList;

}

object-c 獲得目錄(包括子目錄)下所有檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.