public class FileDataSource extends java.lang.Object implements DataSource
Constructor and Description |
---|
FileDataSource(java.io.File file) |
Modifier and Type | Method and Description |
---|---|
java.io.InputStream |
createInputStream()
Creates a new InputStream that allows to read out the document's binary
data from the beginning.
|
byte[] |
getAsByteArray()
Returns the data of this DataSource as a byte array for random read only access.
|
java.lang.String |
getCharacterEncoding()
Returns the character encoding of the data.
|
int |
getLength()
Returns the length (number of bytes) of the stream.
|
java.lang.String |
getMimeType()
Returns the mime type of the data.
|
public FileDataSource(java.io.File file) throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
public java.io.InputStream createInputStream()
DataSource
createInputStream
in interface DataSource
public int getLength()
DataSource
getLength
in interface DataSource
public byte[] getAsByteArray()
DataSource
Calling this method indicates that you need a byte array for random read only access. The DataSource implementation should of course cache this byte array to avoid too much memory usage.
Performance analysis has shown that the libraries internally convert the streams to byte arrays and that file system access is very slow.
Never write to this byte array!
getAsByteArray
in interface DataSource
public java.lang.String getMimeType()
DataSource
getMimeType
in interface DataSource
public java.lang.String getCharacterEncoding()
DataSource
This makes only sense for character based mime types.
getCharacterEncoding
in interface DataSource