【问题标题】:Start reading from a specific byte从特定字节开始读取
【发布时间】:2012-06-08 10:48:09
【问题描述】:

如何从特定字节开始读取?我有以下代码:

        try {
            while ( (len = f.read(buffer)) > 0 ) {}         
        }

例如,我想从第 50 个字节开始读取。

【问题讨论】:

    标签: java android


    【解决方案1】:

    您应该使用跳过方法。 http://developer.android.com/reference/java/io/InputStream.html#skip(long)

    你可以跳过你想要的字节数。

    int nbToSkip = 50
    while (nbToSkip > 0) {
       int nbSkipped = f.skip( nbToSkip );
       nbToSkip -= nbSkipped ; 
    }
    

    【讨论】:

      【解决方案2】:

      我不确定 'f' 的类型是什么,但我会假设它是某种流。

      另外,您的意思是要读取 50 个字节的块,还是从流中的第 50 个字节开始读取?我假设是后者。

      不确定您使用的是什么语言,但无论如何都可以:

      也许有一种查找功能,您可以使用它查找流中的特定位置,如下所示:

      f.seek(50, SEEK_START);
      

      否则,您可以通过从流中读取 50 个字节或 50 次 1 个字节来以穷人的方式做到这一点。

      没有更多参考,很难给你一个好的答案。

      【讨论】:

      • 我使用java。 f 是类文件。我想从第 50 个字节开始
      • 查看 devMatt 的回答我认为这也是您想要的答案
      猜你喜欢
      • 2019-01-11
      • 2017-04-11
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      相关资源
      最近更新 更多