Разница между skipBytes и пропуском DataInputStream? - PullRequest
2 голосов
/ 12 сентября 2010

Интересно, в чем разница между двумя методами:

DataInputStream.skipBytes и DataInputStream.skip.

Мне известно о том, что skip должно исходить от InputStream и skipBytes от DataInput, но все же, есть ли разница .Вы знаете, что при использовании потоков в J2ME все становится довольно сложно, поэтому мне нужно знать!

Будут ли потоки ввода / ввода данных, возвращаемые из FileConnection в JSR-75, другимив обработке, чем любые другие такие потоки?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 30 июня 2011

Кроме того, skip () занимает много времени в качестве аргумента, поэтому вы можете пропустить гораздо больше байтов одновременно.Полезно для больших файлов

2 голосов
/ 12 сентября 2010

из DataInputStream:

public final int skipBytes(int n) throws IOException {
    int total = 0;
    int cur = 0;

    while ((total<n) && ((cur = (int) in.skip(n-total)) > 0)) {
        total += cur;
    }

    return total;
    }

, как видно из кода, skipBytes использует skip (InputStream.skip)

, единственное, что я могу сказать, это если данные вваш упакованный inputStream (InputStream внутри DataInputStream) изменяется другим thread , тогда результат skipBytes и skip может отличаться.но если ваше приложение работает только с одним потоком, то skipBytes и skip одинаковы.

...