0

我正在从我的 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 的方法,通过它我可以从文件 Stream 的范围而不是 NSData 初始化 iStream。

谢谢

4

1 回答 1

1

文件流有 NSStreamFileCurrentOffsetKey 属性来指定读取偏移量。

NSInputStream *s = [NSInputStream inputStreamWithFileAtPath:path];
[s setProperty:offset forKey:NSStreamFileCurrentOffsetKey];
于 2014-04-10T14:24:44.827 回答