public final class RandomAccessSourceFactory extends Object implements Serializable
IRandomAccessSource objects based on various types of sources| Constructor and Description |
|---|
RandomAccessSourceFactory()
Creates a factory that will give preference to accessing the underling data source using memory mapped files
|
public RandomAccessSourceFactory()
public RandomAccessSourceFactory setForceRead(boolean forceRead)
forceRead - true if the full content will be read, false otherwisepublic RandomAccessSourceFactory setUsePlainRandomAccess(boolean usePlainRandomAccess)
RandomAccessFile should be used as the primary data access mechanismusePlainRandomAccess - whether RandomAccessFile should be used as the primary data access mechanismpublic RandomAccessSourceFactory setExclusivelyLockFile(boolean exclusivelyLockFile)
public IRandomAccessSource createSource(byte[] data)
IRandomAccessSource based on a byte arraydata - the byte arrayIRandomAccessSourcepublic IRandomAccessSource createSource(RandomAccessFile raf) throws IOException
IOExceptionpublic IRandomAccessSource createSource(URL url) throws IOException
IRandomAccessSource based on a URL. The data available at the URL is read into memory and used
as the source for the IRandomAccessSourceurl - the url to read fromIRandomAccessSourceIOExceptionpublic IRandomAccessSource createSource(InputStream inputStream) throws IOException
IRandomAccessSource based on an InputStream. The full content of the InputStream is read into memory and used
as the source for the IRandomAccessSourceinputStream - the stream to read fromIRandomAccessSourceIOExceptionpublic IRandomAccessSource createBestSource(String filename) throws IOException
IRandomAccessSource based on a filename string.
If the filename describes a URL, a URL based source is created
If the filename describes a file on disk, the contents may be read into memory (if forceRead is true),
opened using memory mapped file channel (if usePlainRandomAccess is false), or
opened using RandomAccessFile access (if usePlainRandomAccess is true)
This call will automatically fail over to using RandomAccessFile if the memory map operation failsfilename - the name of the file or resource to create the IRandomAccessSource forIRandomAccessSourceIOExceptionpublic IRandomAccessSource createBestSource(FileChannel channel) throws IOException
IRandomAccessSource based on memory mapping a file channel.
Unless you are explicitly working with a FileChannel already, it is better to use
createBestSource(String).
If the file is large, it will be opened using a paging strategy.channel - the name of the file or resource to create the IRandomAccessSource forIRandomAccessSourceIOExceptionpublic IRandomAccessSource createRanged(IRandomAccessSource source, long[] ranges) throws IOException
IOExceptionCopyright © 1998–2016 iText Group NV. All rights reserved.