Package com.mku.fs.streams
Class WSFileStream
java.lang.Object
com.mku.streams.RandomAccessStream
com.mku.fs.streams.WSFileStream
File stream implementation for web service files.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.mku.streams.RandomAccessStream
RandomAccessStream.SeekOrigin -
Field Summary
Fields inherited from class com.mku.streams.RandomAccessStream
DEFAULT_BUFFER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionWSFileStream(WSFile file, String mode) Construct a file stream from a JavaFile. -
Method Summary
Modifier and TypeMethodDescriptionbooleancanRead()Check if stream can read from file.booleancanSeek()Check if stream can seek.booleancanWrite()Check if stream can write to file.voidclose()Close this stream and associated resources.voidflush()Flush the buffers to the associated file.longGet the length of the stream.longGet the current position of the stream.intread(byte[] buffer, int offset, int count) Read data from the file stream into the buffer provided.voidreset()Reset the streamlongseek(long offset, RandomAccessStream.SeekOrigin origin) Seek to the offset provided.voidsetLength(long value) Set the length of the stream.voidsetMaxNetBytesSkip(long maxNetBytesSkip) Maximum amount of bytes allowed to skip forwards when seeking otherwise will open a new connectionvoidsetPosition(long value) Set the current position of the stream.voidwrite(byte[] buffer, int offset, int count) Write the data from the buffer provided into the stream.Methods inherited from class com.mku.streams.RandomAccessStream
asReadStream, copyTo, copyTo, copyTo, copyTo, getAlignSize
-
Constructor Details
-
WSFileStream
Construct a file stream from a JavaFile. This will create a wrapper stream that will route read() and write() to the FileChannel- Parameters:
file- The JavaFile that will be used to get the read/write streammode- The mode "r" for read "rw" for write- Throws:
FileNotFoundException- Thrown if file not found
-
-
Method Details
-
setMaxNetBytesSkip
public void setMaxNetBytesSkip(long maxNetBytesSkip) Maximum amount of bytes allowed to skip forwards when seeking otherwise will open a new connection- Parameters:
maxNetBytesSkip- The maximum number of bytes to skip
-
canRead
public boolean canRead()Check if stream can read from file.- Specified by:
canReadin classRandomAccessStream- Returns:
- True if readable
-
canWrite
public boolean canWrite()Check if stream can write to file.- Specified by:
canWritein classRandomAccessStream- Returns:
- True if writable
-
canSeek
public boolean canSeek()Check if stream can seek.- Specified by:
canSeekin classRandomAccessStream- Returns:
- True if seekable
-
getLength
public long getLength()Get the length of the stream. This is the same as the backed file.- Specified by:
getLengthin classRandomAccessStream- Returns:
- The file stream length
-
getPosition
Get the current position of the stream.- Specified by:
getPositionin classRandomAccessStream- Returns:
- The current position
- Throws:
IOException- Thrown if there is an IO error.
-
setPosition
Set the current position of the stream.- Specified by:
setPositionin classRandomAccessStream- Parameters:
value- The new position.- Throws:
IOException- Thrown if there is an IO error.
-
setLength
Set the length of the stream. This is applicable for write streams only.- Specified by:
setLengthin classRandomAccessStream- Parameters:
value- The new length.- Throws:
IOException- Thrown if there is an IO error.
-
read
Read data from the file stream into the buffer provided.- Specified by:
readin classRandomAccessStream- Parameters:
buffer- The buffer to write the data.offset- The offset of the buffer to start writing the data.count- The maximum number of bytes to read from.- Returns:
- The bytes read
- Throws:
IOException- Thrown if there is an IO error.
-
write
Write the data from the buffer provided into the stream.- Specified by:
writein classRandomAccessStream- Parameters:
buffer- The buffer to read the data from.offset- The offset of the buffer to start reading the data.count- The maximum number of bytes to read from the buffer.- Throws:
IOException- Thrown if there is an IO error.
-
seek
Seek to the offset provided.- Specified by:
seekin classRandomAccessStream- Parameters:
offset- The position to seek to.origin- The type of originRandomAccessStream.SeekOrigin- Returns:
- The new position after seeking.
- Throws:
IOException- Thrown if there is an IO error.
-
flush
public void flush()Flush the buffers to the associated file.- Specified by:
flushin classRandomAccessStream
-
close
Close this stream and associated resources.- Specified by:
closein classRandomAccessStream- Throws:
IOException- Thrown if there is an IO error.
-
reset
Reset the stream- Throws:
IOException- If an error occurs
-