The base file stream classes in java.io
package are
FileInputStream
- binary file input base class
FileOutputStream
- binary file output base class
FileReader
- read text files
FileWriter
- write to text files
These classes treat a file as the source of
the stream. Each of these classes has several overloaded constructors,
including constructors that take a string file name as the parameter
and constructors that take File
as a parameter. For example, an input stream from a file can be
created with
File
file_in = new File ("data.dat");
FileInputStream
in = new FileInputStream (file_in);
If the file doesn't exist, this will throw an an instance
of FileNotFoundException.
Usually, the FileInputStream
object is wrapped with another stream to obtain greater functionality.
For example, BufferedInputStream
is used to smooth out the data flow by filling a buffer that
sends the data when it is full. This class also includes skip(),
mark(),
and reset()
methods. The reset operation causes the data from the point where
mark()
was invoked to be reread.
Similarly, output streams to files are opened like:
File
file_out = new File ("tmp.dat");
FileOutputStream out = new FileOutputStream (file_out);
If the file doesn't exist, it will be created.
Typically, output streams to files are wrapped with
one or more other streams to obtain greater functionality such as
BufferedOutputStream.
To create a directory use the mkdir()
method in File
class.
To append to an existing file use the overloaded constructor:
File file_out
= new File ("old.dat");
FileOutputStream out = new FileOutputStream (file_out,true);
where the second argument indicates that the file
should be opened for appending. (RandomAccessFile
can also be used for appending.)
References & Web
Resources
Latest update: Apr.17, 2006
|