Hi,
I'm used to using streams in C++ where you can seek negatively, in
java however it appears you can only seek positively. Does this mean a
negative seek can only be achieved using a reset() and seek(with a
positive argument), to have the effect of a negative seek. (Isn't
that very in-efficient with buffers?)
Thanks in advance
David
Thomas Hawtin - 28 Aug 2005 23:58 GMT
> I'm used to using streams in C++ where you can seek negatively, in
> java however it appears you can only seek positively. Does this mean a
> negative seek can only be achieved using a reset() and seek(with a
> positive argument), to have the effect of a negative seek. (Isn't
> that very in-efficient with buffers?)
InputStream doesn't have seek. It does have skip. Most streams are not
random access. Most uses of stream-like objects do not require random
access behaviour. So it doesn't make a great deal of sense to have a
seek method.
What you probably want is RandomAccessFile.
Tom Hawtin

Signature
Unemployed English Java programmer
http://jroller.com/page/tackline/
Roedy Green - 29 Aug 2005 22:50 GMT
>I'm used to using streams in C++ where you can seek negatively, in
>java however it appears you can only seek positively. Does this mean a
>negative seek can only be achieved using a reset() and seek(with a
>positive argument), to have the effect of a negative seek. (Isn't
>that very in-efficient with buffers?)
Java does an absolute seek. The seek is relative to the start of the
file. So you can hop forward and back, you just specify it always
with a positive number.

Signature
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.