Constructor and Description |
---|
FileByteStore()
Constructs a new FileByteStore which uses a temporary file as
backing store.
|
FileByteStore(java.io.File file)
Constructs a new FileByteStore which uses the given file as a
backing store.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Tidies up.
|
static void |
copy(java.io.File file,
java.io.OutputStream out)
Utility method to copy the contents of a file to an output stream.
|
void |
copy(java.io.OutputStream out)
Takes all the data written so far into this store's sink stream
and copies it to a destination stream.
|
java.io.File |
getFile()
Returns the file used by this store.
|
long |
getLength()
Returns the number of bytes currently stored in this object.
|
java.io.OutputStream |
getOutputStream()
Returns an output stream which can be used to write to the store.
|
java.nio.ByteBuffer[] |
toByteBuffers()
Returns an array of byte buffers containing the bytes written
to this store.
|
static java.nio.ByteBuffer[] |
toByteBuffers(java.io.File file)
Returns a read-only ByteBuffer array representing the contents
of a file, with default maximum buffer length.
|
public FileByteStore(java.io.File file) throws java.io.IOException
file
- location of the backing file which will be usedjava.io.IOException
- if there is some I/O-related problem with
opening the filejava.lang.SecurityException
- if the current security context does not
allow writing to a temporary filepublic FileByteStore() throws java.io.IOException
java.io.tmpdir
system property.java.io.IOException
- if there is some I/O-related problem with
opening the filejava.lang.SecurityException
- if the current security context does not
allow writing to a temporary filepublic java.io.File getFile()
public java.io.OutputStream getOutputStream()
ByteStore
BufferedOutputStream
for efficiency if required.getOutputStream
in interface ByteStore
public long getLength()
ByteStore
public void copy(java.io.OutputStream out) throws java.io.IOException
ByteStore
public java.nio.ByteBuffer[] toByteBuffers() throws java.io.IOException
ByteStore
Integer.MAX_VALUE
, more than one will be
required. The limit of each buffer indicates the
number of bytes it contains.
Usual usage will be to write all data, then call this method once; this model may affect implementation decisions about efficiency.
toByteBuffers
in interface ByteStore
java.io.IOException
- if there is an I/O errorpublic static void copy(java.io.File file, java.io.OutputStream out) throws java.io.IOException
file
- fileout
- destination streamjava.io.IOException
public static java.nio.ByteBuffer[] toByteBuffers(java.io.File file) throws java.io.IOException
file
- filejava.io.IOException