如何获得NSStream的总长度?

时间:2014-07-14 06:42:18

标签: objective-c stream

我想知道,如果有一种简单的方法来获取NSStream对象的总长度(以字节为单位)。所以,例如,在C#中我可以获得Stream.Length属性,这就是答案。在目标c中,到目前为止,我还没有找到类似的东西。我能想象的最简单的解决方案是“读取字节来缓冲并计算它们的数量”:

long totalLength = 0;
while((result = [sInput read:buffer maxLength:BUFFER_SIZE]) != 0) {
        if(result > 0) {
            totalLength += result;
        }

如文档中所述,读取方法的返回值为:

  

正数表示读取的字节数;

     

0表示已到达缓冲区的末尾;

     

负数表示操作失败。

最后,大小值将包含总长度。

这是解决问题的正确方法,还是有更简单的方法?顺便问一下,我的代码是否正确? (我对我的对象技能没有信心)

0 个答案:

没有答案