@Immutable public final class TFileInputStream extends net.java.truecommons.io.DecoratingInputStream
FileInputStream
for reading plain old
files or entries in an archive file.
Mind that applications cannot read archive files directly - just their
entries!
To prevent exceptions to be thrown subsequently, applications should always close their streams using the following idiom:
TFileInputStream in = new TFileInputStream(file);
try {
// Do I/O here...
} finally {
in.close(); // ALWAYS close the stream!
}
Note that the DecoratingInputStream.close()
method may throw an IOException
, too.
Applications need to deal with this appropriately, for example by enclosing
the entire block with another try-catch
-block:
try {
TFileInputStream in = new TFileInputStream(file);
try {
// Do I/O here...
} finally {
in.close(); // ALWAYS close the stream!
}
} catch (IOException ex) {
ex.printStackTrace();
}
Applications cannot read from an entry in an archive file if an implicit
unmount is required but cannot get performed
because another TFileInputStream
or TFileOutputStream
object
hasn't been closed or garbage collected yet.
A FileNotFoundException
is thrown by the constructors of this class
in this case.
If you would like to use this class in order to cp files,
please consider using one of the
cp methods of the class TFile
instead.
These methods provide ease of use, enhanced features, superior performance
and require less space in the temp file folder.
TFile.cat(InputStream, OutputStream)
,
TFileOutputStream
Constructor and Description |
---|
TFileInputStream(File file)
Constructs a new input stream for reading plain old files or entries
in an archive file.
|
TFileInputStream(File file,
net.java.truecommons.shed.BitField<FsAccessOption> options)
Constructs a new input stream for reading plain old files or entries
in an archive file.
|
TFileInputStream(File file,
FsAccessOption... options)
Constructs a new input stream for reading plain old files or entries
in an archive file.
|
TFileInputStream(String path)
Constructs a new input stream for reading plain old files or entries
in an archive file.
|
TFileInputStream(String path,
FsAccessOption... options)
Constructs a new input stream for reading plain old files or entries
in an archive file.
|
@CreatesObligation public TFileInputStream(File file) throws IOException
file
- the file or archive entry.IOException
- on any I/O error.@CreatesObligation public TFileInputStream(File file, net.java.truecommons.shed.BitField<FsAccessOption> options) throws IOException
file
- the file or archive entry.options
- additional options for accessing the file or archive
entry.IOException
- on any I/O error.@CreatesObligation public TFileInputStream(File file, FsAccessOption... options) throws IOException
file
- the file or archive entry.options
- additional options for accessing the file or archive
entry.IOException
- on any I/O error.@CreatesObligation public TFileInputStream(String path) throws IOException
path
- the path of the file or archive entry.IOException
- on any I/O error.@CreatesObligation public TFileInputStream(String path, FsAccessOption... options) throws IOException
path
- the path of the file or archive entry.options
- additional options for accessing the file or archive
entry.IOException
- on any I/O error.Copyright © 2005–2018 Schlichtherle IT Services. All rights reserved.