我想知道,如果有一种简单的方法来获取NSStream对象的总长度(以字节为单位)。所以,例如,在C#中我可以获得Stream.Length
属性,这就是答案。在目标c中,到目前为止,我还没有找到类似的东西。我能想象的最简单的解决方案是“读取字节来缓冲并计算它们的数量”:
long totalLength = 0;
while((result = [sInput read:buffer maxLength:BUFFER_SIZE]) != 0) {
if(result > 0) {
totalLength += result;
}
如文档中所述,读取方法的返回值为:
正数表示读取的字节数;
0表示已到达缓冲区的末尾;
负数表示操作失败。
最后,大小值将包含总长度。
这是解决问题的正确方法,还是有更简单的方法?顺便问一下,我的代码是否正确? (我对我的对象技能没有信心)