繁体   English   中英

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

[英]initialising NSInputStream from a particular portion of file (copied in Document directory)?

我正在从iOS应用程序上传一个大文件,并且文件传输是按块上传。 我正在使用以下代码初始化NSInputStream for Chunks。

// 例如

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。

谢谢

文件流具有NSStreamFileCurrentOffsetKey属性,用于指定读取偏移量。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM