Быстрый способ записи данных в несколько файлов - Objective-C OSX

В настоящее время я последовательно создаю / записываю данные в ~30 000 файлов, используя этот код:

    if ([[NSFileManager defaultManager] fileExistsAtPath:[_output_url path]]) {
        //file already exists, append string to it
        NSFileHandle *aFileHandle = [NSFileHandle fileHandleForWritingAtPath:[_output_url path]];
        [aFileHandle seekToEndOfFile];
        [aFileHandle writeData:[dataString dataUsingEncoding:NSUTF8StringEncoding]];
    } else {
        //create file
        [dataString writeToFile:[_output_url path] atomically:YES encoding: NSUTF8StringEncoding error: NULL];
    }

Как вы можете догадаться, для прохождения 30k файлов требуется немало времени. Тем не менее, мне интересно, есть ли способ сделать это более эффективным. Я посмотрел на NSOutputStream - это будет жизнеспособной альтернативой? Или я всегда ограничен скоростью, с которой система может записывать данные в файл?

0 ответов

Другие вопросы по тегам