|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.io.InputStream | +--org.gnu.jcifs.CifsFileInputStream
A CifsFileInputStream
is an input stream for reading data
from a CIFS file. The default buffer
size is 2048. The system property org.gnu.jcifs.io.bufsize
specifies the buffer size. The implementation was borrowed from
BufferedInputStream.
Constructor Summary | |
CifsFileInputStream(CifsDisk disk,
java.lang.String file)
Opens the given file for read |
|
CifsFileInputStream(CifsFile file)
Opens the given file for read |
|
CifsFileInputStream(java.lang.String sessionname,
java.lang.String file)
Opens the given file for read with default buffer size |
Method Summary | |
int |
available()
Returns the number of bytes that can be read from this input stream without blocking. |
void |
close()
Closes the input file |
void |
finalize()
Finalizes this object |
CifsDisk |
getDisk()
Returns the disk on which the file resides |
long |
length()
Returns the file size |
void |
mark(int readlimit)
Marks the current position in this input stream. |
boolean |
markSupported()
Tests if this input stream supports the mark
and reset methods. |
int |
read()
Reads the next byte of data from this file. |
int |
read(byte[] b,
int off,
int len)
Reads bytes into a portion of an array. |
void |
reset()
Repositions this stream to the position at the time the mark method was last called on this input stream.
|
long |
skip(long n)
Skips over and discards n bytes of data from the
input stream. |
Methods inherited from class java.io.InputStream |
read |
Methods inherited from class java.lang.Object |
equals,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public CifsFileInputStream(CifsDisk disk, java.lang.String file) throws java.io.IOException
disk
- disk objectfile
- name (relative to share name)public CifsFileInputStream(java.lang.String sessionname, java.lang.String file) throws java.io.IOException
sessionname
- disk session namefile
- file name( Syntax: /diskname/path
or diskname:\path
)public CifsFileInputStream(CifsFile file) throws java.io.IOException
file
- fileMethod Detail |
public long length()
public CifsDisk getDisk() throws java.io.IOException
public void close() throws java.io.IOException
public int read() throws java.io.IOException
int
in the range
0
to 255
. If no byte is available
because the end of the stream has been reached, the value
-1
is returned. This method blocks until input data
is available, the end of the stream is detected, or an exception
is thrown.
The read
method of CifsFileInputStream
returns the next byte of data from its buffer if the buffer is not
empty. Otherwise, it refills the buffer from the underlying input
stream and returns the next character, if the underlying stream
has not returned an end-of-stream indicator.
-1
if the end of the
stream is reached.public int read(byte[] b, int off, int len) throws java.io.IOException
If this stream's buffer is not empty, bytes are copied from it into the array argument. Otherwise, the buffer is refilled from the underlying input stream and, unless the stream returns an end-of-stream indication, the array argument is filled with characters from the newly-filled buffer.
As an optimization, if the buffer is empty, the mark is not valid,
and len
is at least as large as the buffer, then this
method will read directly from the underlying stream into the given
array. Thus redundant CifsFileInputStream
s will not copy
data unnecessarily.
b
- destination buffer.off
- offset at which to start storing bytes.len
- maximum number of bytes to read.-1
if the end of
the stream has been reached.public long skip(long n) throws java.io.IOException
n
bytes of data from the
input stream. The skip
method may, for a variety of
reasons, end up skipping over some smaller number of bytes,
possibly zero. The actual number of bytes skipped is returned.
The skip
method of CifsFileInputStream
compares the number of bytes it has available in its buffer,
k, where k = fCount - fPos
,
with n
. If n
≤ k,
then the fPos
field is incremented by n
.
Otherwise, the fPos
field is incremented to have the
value fCount
, and the remaining bytes are skipped by
calling the skip
method on the underlying input
stream, supplying the argument n -
k.
n
- the number of bytes to be skipped.public int available() throws java.io.IOException
The available
method of
CifsFileInputStream
returns the sum of the the number
of bytes remaining to be read in the buffer
(fCount - fPos
)
and the result of calling the available
method of the
underlying input stream.
public void mark(int readlimit)
reset
method repositions the stream at
the last marked position so that subsequent reads re-read the same
bytes.
The readlimit
argument tells the input stream to
allow that many bytes to be read before the mark position gets
invalidated.
readlimit
- the maximum limit of bytes that can be read before
the mark position becomes invalid.public void reset() throws java.io.IOException
mark
method was last called on this input stream.
If the stream has not been marked, or if the mark has been invalidated, an IOException is thrown. Stream marks are intended to be used in situations where you need to read ahead a little to see what's in the stream. Often this is most easily done by invoking some general parser. If the stream is of the type handled by the parser, it just chugs along happily. If the stream is not of that type, the parser should toss an exception when it fails. If an exception gets tossed within readlimit bytes, the parser will allow the outer code to reset the stream and to try another parser.
public boolean markSupported()
mark
and reset
methods. The markSupported
method of CifsFileInputStream
returns
true
.boolean
indicating if this stream type supports
the mark
and reset
methods.public void finalize()
|
Norbert Hranitzky | ||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |