What is output/input stream?
What is a stream?
In Java, a stream is a sequence of data composed of bytes. It’s synonymous to a stream because like a stream of water, it continues to flow. Based on the datatype that is transferred through the stream, they are classified as one of the following based on the byte:
-
Output stream
-
Input stream
Output stream
In order to write data to a destination, the Java application utilizes an
OutputStream class
The OutputStream class is an abstract class. It is the super-class of all classes denoting an output-stream of bytes. An output-stream takes in output bytes and sends them to some reservoir.
Important methods of OutputStream
public void write(int)throws IOException: This writes a byte to the most recent output stream.public void write(byte[])throws IOException: This writes an array of bytes to the current output stream.public void flush()throws IOException: This performs the function of flushing the current output stream.public void close()throws IOException: This closes the current output stream.
Because of the scope of this shot, we are restricted to
FileOutputStreamandFileInputStream.
Java FileOutputStream class
Java FileOutputStream is a type of output stream used for writing data to a destination file. When it is necessary to write primitive values into a file, use the FileOutputStream class. You can write byte-type as well as character-type data via FileOutputStream class, but FileWriter is preferred to FileOutputStream for character-type data.
FileOutputStream class declaration
The Java.io.FileOutputStream class is declared as:
public class FileOutputStream extends OutputStream.
FileOutputStream class methods
protected void finalize(): This wraps up the connection with the file output stream.void write(byte[] array): This writes array, length, and byte data from the byte array to the file output stream.void write(byte[] array, int off, int size): This writes size bytes from the byte array beginning at offset position straight to the file output stream.void write(int b): It is used to write the particular byte to the file output stream.File-Channel get-Channel(): It is used to return the file channel object related to the file output stream.void close(): This closes the file output stream.
import java.io.FileOutputStream;public class FileOutputStreamExample {public static void main(String args[]){try{FileOutputStream fileout=new FileOutputStream("D:\\testout.txt");fout.write(65);fileout.close();System.out.println("success...");}catch(Exception e){System.out.println(e);}}}Output
InputStream class
The InputStream class is an abstract class. It is the parent-class of all classes that represents an input stream of bytes.
Important methods of InputStream
public abstract int read()throws IOException: This method reads the preceding byte of data from the input stream. It returns a negative one at the end of the file.public int available()throws IOException: An estimated number of bytes is returned by this method so it can be read from the most recent input stream.public void close()throws IOException: This method uses the close keyword to close the latest input stream.
Java FileInputStream class
The Java FileInputStream class acquires input bytes data from a file. It reads FileReader class is recommended.
Java FileInputStream class declaration
The Java.io.FileInputStream class is declared as:
public class FileInputStream extends InputStream.
Java FileInputStream class methods
int available(): This method returns an estimated number of bytes that is readable from the input stream.int read(): This method reads the byte of data from the input stream.int read(byte[] byt): This reads up to byte.length bytes of data from the input stream.int read(byte[] byt, int off, int size): This method reads up to size bytes of data from the input stream.long skip(long m): This performs the function of skipping over to discardmbytes of data from the input stream.FileChannel getChannel(): This functions to return the specialFileChannelobject related to the file input stream.
import java.io.FileInputStream;public class DataStreamExample {public static void main(String args[]){try{FileInputStream fileinp=new FileInputStream("D:\\testout.txt");int i=fileinp.read();System.out.print((char)i);fin.close();}catch(Exception e){System.out.println(e);}}}
I hope the content of this shot, despite its brevity, answers some of the burning questions you had before reading through it.
Free Resources