org.gcube.contentmanagement.baselayer.networkFileTransfer.gfal
Class BufferedGFALInputStream
java.lang.Object
java.io.InputStream
org.gcube.contentmanagement.baselayer.networkFileTransfer.gfal.BufferedGFALInputStream
- All Implemented Interfaces:
- java.io.Closeable
public class BufferedGFALInputStream
- extends java.io.InputStream
Method Summary |
int |
available()
|
void |
close()
|
long |
determineStreamLength()
Tries to determine the length of the stream by jumping to the last
position of the stream and back. |
boolean |
isLargeFile()
Returns whether this file is a large file (to best knowledge) |
void |
mark(int readlimit)
|
boolean |
markSupported()
|
int |
read()
|
int |
read(byte[] b)
|
int |
read(byte[] b,
int off,
int len)
|
void |
reset()
|
void |
setLargeFile(boolean isLargeFile)
Sets whether the file should use the large file support. |
long |
skip(long n)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BEHIND_END_OF_FILE
public static final int BEHIND_END_OF_FILE
- See Also:
- Constant Field Values
BufferedGFALInputStream
public BufferedGFALInputStream(it.infn.catania.gfal.GFalFile inputFile,
BasicStorageHints hints)
throws ValueNotValidException,
java.io.IOException
- Throws:
ValueNotValidException
java.io.IOException
read
public int read()
throws java.io.IOException
- Specified by:
read
in class java.io.InputStream
- Throws:
java.io.IOException
read
public int read(byte[] b)
throws java.io.IOException
- Overrides:
read
in class java.io.InputStream
- Throws:
java.io.IOException
close
public void close()
throws java.io.IOException
- Specified by:
close
in interface java.io.Closeable
- Overrides:
close
in class java.io.InputStream
- Throws:
java.io.IOException
read
public int read(byte[] b,
int off,
int len)
throws java.io.IOException
- Overrides:
read
in class java.io.InputStream
- Throws:
java.io.IOException
skip
public long skip(long n)
throws java.io.IOException
- Overrides:
skip
in class java.io.InputStream
- Throws:
java.io.IOException
available
public int available()
- Overrides:
available
in class java.io.InputStream
mark
public void mark(int readlimit)
- Overrides:
mark
in class java.io.InputStream
markSupported
public boolean markSupported()
- Overrides:
markSupported
in class java.io.InputStream
reset
public void reset()
throws java.io.IOException
- Overrides:
reset
in class java.io.InputStream
- Throws:
java.io.IOException
determineStreamLength
public long determineStreamLength()
- Tries to determine the length of the stream by jumping to the last
position of the stream and back.
Possibly GFalUtilities also does this job, then there is no need to use
this non-elagant way.
- Returns:
- the length in bytes, if it could be determined correctly;
BaseLayerStream.STREAM_LENGTH_IMPLICITE otherwise
- See Also:
BaseLayerStream.STREAM_LENGTH_IMPLICITE
isLargeFile
public boolean isLargeFile()
- Returns whether this file is a large file (to best knowledge)
- Returns:
- true, if it should use the large file support of the GFalFile
- See Also:
GFalFile
setLargeFile
public void setLargeFile(boolean isLargeFile)
- Sets whether the file should use the large file support.
- Parameters:
isLargeFile
- Set true, if you wnat to manage a large file- See Also:
GFalFile