Package loci.common
Class URLHandle
- java.lang.Object
-
- loci.common.StreamHandle
-
- loci.common.URLHandle
-
- All Implemented Interfaces:
DataInput
,DataOutput
,IRandomAccess
public class URLHandle extends StreamHandle
Provides random access to URLs using the IRandomAccess interface. Instances of URLHandle are read-only.- Author:
- Melissa Linkert melissa at glencoesoftware.com
- See Also:
IRandomAccess
,StreamHandle
,URLConnection
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class loci.common.StreamHandle
StreamHandle.Settings
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
resetStream()
Close and reopen the stream; the stream pointer and mark should be reset to 0.void
seek(long pos)
Sets the stream pointer offset, measured from the beginning of this stream, at which the next read or write occurs.-
Methods inherited from class loci.common.StreamHandle
close, exists, getFilePointer, getOrder, length, read, read, read, read, readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedShort, readUTF, setOrder, skipBytes, skipBytes, write, write, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
-
-
-
-
Constructor Detail
-
URLHandle
public URLHandle(String url) throws IOException
Constructs a new URLHandle using the given URL.- Parameters:
url
- the fully qualified URL path- Throws:
IOException
- if the URL is invalid or unreadable
-
-
Method Detail
-
seek
public void seek(long pos) throws IOException
Description copied from interface:IRandomAccess
Sets the stream pointer offset, measured from the beginning of this stream, at which the next read or write occurs.- Specified by:
seek
in interfaceIRandomAccess
- Overrides:
seek
in classStreamHandle
- Parameters:
pos
- new byte offset (pointer) in the current stream. Unless otherwise noted, may be larger or smaller than the current pointer, but must be non-negative and less than the value of #length()- Throws:
IOException
- ifpos
is invalid or the seek fails- See Also:
IRandomAccess.getFilePointer()
-
resetStream
protected void resetStream() throws IOException
Description copied from class:StreamHandle
Close and reopen the stream; the stream pointer and mark should be reset to 0. This method is called if we need to seek backwards within the stream.- Specified by:
resetStream
in classStreamHandle
- Throws:
IOException
- if the stream cannot be reset
-
-