我从我的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。
由于
答案 0 :(得分:1)
文件流有NSStreamFileCurrentOffsetKey属性来指定读取偏移量。
NSInputStream *s = [NSInputStream inputStreamWithFileAtPath:path];
[s setProperty:offset forKey:NSStreamFileCurrentOffsetKey];