Как прочитать большой файл по диапазону в target-c? - PullRequest
1 голос
/ 24 мая 2011

Я хочу прочитать большой файл в Objective-C, и используется в разработке для iPhone Я использовал следующий код

NSData *data = [[NSData alloc] initWithContentsOfFile:file];
unsigned char *readData[2000];
[data getBytes:readData range:NSMakeRange(1000,3000)]

Это может привести к сбою приложения для iphone, поскольку размер файла велик.

Я пытался использовать NSInputStream, но не могу найти параметр диапазона ни в каком методе, кто-нибудь может помочь?

Спасибо и наилучшими пожеланиями Тимми

1 Ответ

8 голосов
/ 24 мая 2011

Использование NSFileHandle: поиск смещения, с которого начинаются ваши данные, и начало чтения оттуда.

NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];
[fileHandle seekToFileOffset:1000];
NSData *data = [fileHandle readDataOfLength:2000];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...