I/O Fundamentals in JAVA 4
I/O Stream Chaining:-
- A program rarely uses a single stream. Instead, it chains a series of streams together to process the data.
- The given below demonstrates an example input stream; in this case, a file stream is buffered for efficiency and then converted into data (Java primitives) items.
This is an input stream chain example
Data Source è FileInputStream => BufferedInputStream => DataInputStream è Program
- And given below demonstrates an example output stream; in this case, data is written, then buffered, and finally written to a file.
This is an input stream chain example
Program è DataOutputStream => BufferedOutputStream => FileOutputStream è Data Sink
Processing Streams:-
- A processing stream performs some sort of conversion on another stream. Processing Streams are also called as filter streams.
- The filter input stream is created with the connection to an existing input stream.
- This is done so that when you try to read from the filter input stream object, it supplies you with characters that originally came from the other stream object.
- This enables you to convert the raw data into a more usable form for your application.
- The given below lists the built in processing streams that are included in a java.io package.
Type Character Streams Byte Streams
Buffering BufferedReader BufferedInputStream
BufferedWriter BufferedOuputStream
Filtering FilterReader FilterInputStream
FilterWriter FilterOuputStream
Converting between InputStreamReader
bytes and characters OutputStreamWriter
*Performing object ObjectInputStream
Serialization ObjectOutputStream
Performing DataInputStream
Data Conversion DataOutputStream
Counting LineNumberReader LineNumberInputStream
Peeking ahead PushbackReader PushbackInputStream
Printing PrintWriter PrintStream
Note: – The FilterXYZ streams are abstract classes and cannot be used directly. You can subclass them to implement your own processing streams.
- It is easy to create new processing streams.
Basic Byte Stream Classes:-
The FileInputStream class and FileOutputStream Class:-
- The FileInputStream class and FileOutputStream Class are node stream classes and, as the name suggests, they use disk files.
- The constructor for these classes enables you to specify the path of the file to which they are connected.
- To construct the FileInputStream, the associated file must be exist and be readable. If you construct a FileOutputStream, the output file is overwritten if it already exists.
FileInputStream infile = new FileInputStream(“myfiles11.dat”);
FileOutputStream infile = new FileOutputStream(“myfiles12.dat”);
The BufferedInputStream class and BufferedOutputStream Class:-
- Use a BufferedInputStream class and BufferedOutputStream class filter streams to increase the efficiency of I/O operations.
The PipeInputStream class and PipeOutputStream Class:-
- We use piped streams for communicating between threads. A PipedInputStream object in one thread receives its input from a complementary PipedOutputStream object in another thread.
- The piped streams must have both an input side and an output side to be useful.
The DataInputStream class and DataOutputStream Class:-
- The DataInputStream class and DataOutputStream class are called filter streams enables reading and writing of java primitive types and some special formats using streams.
- The following methods are provided for the different primitives,
The methods of DataInputStream class:-
The methods of DataInputStream class are as follows:
- byte readByte()
- long readLong()
- double readDouble()
The methods of DataOutputStream class:-
The methods of DataOutputStream class are as follows:
- void writeByte(byte)
- void writeLong(long)
- void writeDouble(double)
- The methods of DataInputStream are paired with the methods of DataOutputStream.
- These streams have methods for reading and writing strings but do not use these methods.
- They have been deprecated and replaced by readers and writers.
The ObjectInputStream class and ObjectOutputStream Class:-
- The ObjectInputStream class and ObjectOutputStream class enable reading from and writing Java Objects to streams.
- Writing an object to a stream primarily involves writing the values of all the fields of the object.
- If the fields are objects themselves, these objects should also be written to the stream.
Note: – If the fields are declared as transient or static, their values are not written to the stream.
- Reading an object from the stream involves, reading the object type creating the blank object of that type and filling it with that data that was written.
- A Persistent storage of an object can be accomplished if files (or other persistent storage) are used as the stream.
- The Java API provides a standard mechanism that completely automates the process of writing and reading objects from streams.
Note: – If the stream is a network socket stream, the objects are sterilized before sending and desterilized after receiving on another host or process.
For more reading about technology news in singapore or from all over the world in all aspect from seo to online marketing do view more about other pages.