|
TrueZIP Kernel 7.0-rc1 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectde.schlichtherle.truezip.rof.AbstractReadOnlyFile
de.schlichtherle.truezip.rof.DecoratingReadOnlyFile
de.schlichtherle.truezip.rof.SynchronizedReadOnlyFile
@ThreadSafe public class SynchronizedReadOnlyFile
A decorator which synchronizes all access to a ReadOnlyFile
via an object provided to its constructor.
| Field Summary | |
|---|---|
protected Object |
lock
The object to synchronize on - never null. |
| Fields inherited from class de.schlichtherle.truezip.rof.DecoratingReadOnlyFile |
|---|
delegate |
| Constructor Summary | |
|---|---|
SynchronizedReadOnlyFile(ReadOnlyFile rof)
Constructs a new synchronized read only file. |
|
SynchronizedReadOnlyFile(ReadOnlyFile rof,
Object lock)
Constructs a new synchronized read only file. |
|
| Method Summary | |
|---|---|
void |
close()
Closes this read-only file and releases any non-heap resources allocated for it. |
long |
getFilePointer()
Returns the current byte position in the file as a zero-based index. |
long |
length()
Returns the length of the file in bytes. |
int |
read()
Reads and returns the next byte or -1 if the end of the file has been reached. |
int |
read(byte[] b,
int off,
int len)
Reads up to len bytes of data from this read only file into
the given array. |
void |
seek(long pos)
Sets the current byte position in the file as a zero-based index at which the next read occurs. |
| Methods inherited from class de.schlichtherle.truezip.rof.DecoratingReadOnlyFile |
|---|
toString |
| Methods inherited from class de.schlichtherle.truezip.rof.AbstractReadOnlyFile |
|---|
read, readFully, readFully |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected final Object lock
null.
| Constructor Detail |
|---|
public SynchronizedReadOnlyFile(ReadOnlyFile rof)
rof - the read only file to wrap in this decorator.
public SynchronizedReadOnlyFile(ReadOnlyFile rof,
Object lock)
rof - the input stream to wrap in this decorator.lock - the object to synchronize on.
If null, then this object is used, not the stream.| Method Detail |
|---|
public long length()
throws IOException
ReadOnlyFile
length in interface ReadOnlyFilelength in class DecoratingReadOnlyFileIOException
public long getFilePointer()
throws IOException
ReadOnlyFile
getFilePointer in interface ReadOnlyFilegetFilePointer in class DecoratingReadOnlyFileIOException
public void seek(long pos)
throws IOException
ReadOnlyFileDefaultReadOnlyFile subclass
RandomAccessFile passes "r" as a parameter to
the superclass constructor.
With Sun's JSE implementation, on the Windows platform this
implementation allows to seek past the end of file, but on the Linux
platform it doesn't.
seek in interface ReadOnlyFileseek in class DecoratingReadOnlyFilepos - The current byte position as a zero-based index.
IOException - If pos is less than 0 or if
an I/O error occurs.
public int read()
throws IOException
ReadOnlyFile
read in interface ReadOnlyFileread in class DecoratingReadOnlyFileIOException
public int read(byte[] b,
int off,
int len)
throws IOException
ReadOnlyFilelen bytes of data from this read only file into
the given array.
This method blocks until at least one byte of input is available.
read in interface ReadOnlyFileread in class DecoratingReadOnlyFileb - The buffer to fill with data.off - The start offset of the data.len - The maximum number of bytes to read.
-1 if there is
no more data because the end of the file has been reached.
IOException - On any I/O related issue.
public void close()
throws IOException
ReadOnlyFile
close in interface ReadOnlyFileclose in interface Closeableclose in class DecoratingReadOnlyFileIOException
|
TrueZIP Kernel 7.0-rc1 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||