从文件的特定部分初始化NSInputStream(复制到Document目录中)?

时间:2014-04-10 07:20:26

标签: c++ ios objective-c nsinputstream

我从我的iOS应用程序上传大文件,文件传输是块上传。我正在使用以下代码初始化Chunks的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。

由于

1 个答案:

答案 0 :(得分:1)

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

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