инициализация NSInputStream из определенной части файла (скопированной в директорию документа)?

Я загружаю большой файл из своего приложения для iOS, и передача файлов происходит в режиме загрузки фрагментов. Я использую приведенный ниже код для инициализации NSInputStream для чанков.

// например

NSInteger chunkCount =  20;
for(int i=0; i<chunkCount; i++) {
NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:filePath];
[handle seekToFileOffset:(unsigned long long)i * (chunkCount == 1?fileSize:chunkSize)];
NSData *fileData = [handle readDataOfLength:chunkSize];
NSInputStream *iStream = [[NSInputStream alloc]initWithData:fileData];
}

Но я хотел бы знать, могу ли я иметь метод NSInputStream, с помощью которого я могу инициализировать iStream из диапазона файлового потока, а не NSData.

Спасибо

0

Решение

Существует свойство NSStreamFileCurrentOffsetKey для файловых потоков, чтобы указать смещение чтения.

NSInputStream *s = [NSInputStream inputStreamWithFileAtPath:path];
[s setProperty:offset forKey:NSStreamFileCurrentOffsetKey];
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]