uk.ac.starlink.util
Class TemporaryFileDataSource
java.lang.Object
uk.ac.starlink.util.DataSource
uk.ac.starlink.util.FileDataSource
uk.ac.starlink.util.TemporaryFileDataSource
public class TemporaryFileDataSource
- extends FileDataSource
A DataSource which stores its data in a temporary file. This can be
used to represent data which is only available to read once from an
intput stream. The stream is read when this source is constructed,
and cached in a temporary file. The temporary file is removed
when this object is finalized or when the VM is terminated normally.
Constructor Summary |
TemporaryFileDataSource(java.io.InputStream baseStream,
java.lang.String name)
Constructs a new DataSource by reading the contents of an
input stream. |
TemporaryFileDataSource(java.io.InputStream baseStream,
java.lang.String name,
java.lang.String prefix,
java.lang.String suffix,
java.io.File directory)
Constructs a new DataSource by reading the contents of an
input stream. |
Method Summary |
void |
finalize()
Deletes the temporary data file. |
java.net.URL |
getURL()
Returns null, since the data is not represented by a
persistent object. |
Methods inherited from class uk.ac.starlink.util.DataSource |
close, forceCompression, getCompression, getHybridInputStream, getInputStream, getInputStream, getIntro, getIntroLimit, getLength, getMarkWorkaround, getName, getPosition, getSystemId, makeDataSource, makeDataSource, setCompression, setIntroLimit, setMarkWorkaround, setName, setPosition, toString |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
TemporaryFileDataSource
public TemporaryFileDataSource(java.io.InputStream baseStream,
java.lang.String name)
throws java.io.IOException
- Constructs a new DataSource by reading the contents of an
input stream. The name of the source is also supplied; it does
not take the name (or URL) of the file, since that does not
represent a persistent object.
- Parameters:
baseStream
- the stream which supplies this source's dataname
- the name of the source
- Throws:
java.io.IOException
TemporaryFileDataSource
public TemporaryFileDataSource(java.io.InputStream baseStream,
java.lang.String name,
java.lang.String prefix,
java.lang.String suffix,
java.io.File directory)
throws java.io.IOException
- Constructs a new DataSource by reading the contents of an
input stream. The name of the source is also supplied; it does
not take the name (or URL) of the file, since that does not
represent a persistent object. Using this constructor you may also
supply the prefix, suffix and directory used for the temporary file
see
File.createTempFile(String,String,File)
.
- Parameters:
baseStream
- the stream which supplies this source's dataname
- the name of the sourceprefix
- the prefix string to be used in generating the file's
name; must be at least three characters longsuffix
- the suffix string to be used in generating the file's
name; may be null, in which case the suffix ".tmp" will be
useddirectory
- the directory in which the file is to be created, or
null if the default temporary-file directory is to be used
- Throws:
java.io.IOException
getURL
public java.net.URL getURL()
- Returns null, since the data is not represented by a
persistent object.
- Overrides:
getURL
in class FileDataSource
- Returns:
- a URL corresponding to this source, or null
finalize
public void finalize()
- Deletes the temporary data file.
- Overrides:
finalize
in class java.lang.Object