Java I/O Streams
Java I/O Streams
Java I/O Streams are used for reading or writing information that are on an external source.
Java I/O Streams allow communication between two or more threads.
In Java there are two types of streams:
- Byte Streams
- Character Streams
Classes that perform input and output operations are stored in the package java.io.
The main classes of java.io package are: File, FileReader, FileWriter, FileInputStream, FileOutputStream, InputStreamReader, OutputStreamWriter, DataInputStream, DataOutputStream, BufferedReader, BufferedWriter, PrintStream, PrintWriter.
Streams example
Example 1
import java.io.*;
public class CreateWriteFile{
    public static void main(String [] args){
        try{
            String filetxt = "Test write file from java.";
            PrintStream output = new PrintStream("myfile1.txt");
            output.println(filetxt);
            output.close();
        }catch(Exception ex){
            System.out.println("Java Error!");
        }
    }
}
Example 2
import java.io.*;
public class CopyString {
   public static void main(String args[]) throws IOException
   {
      FileReader input = null;
      FileWriter output = null;
      try {
         input = new FileReader("input_file.txt");
         output = new FileWriter("output_file.txt");
         
         int s;
         while ((s = input.read()) != -1) {
            output.write(s);
         }
      }catch(Exception ex){
         System.out.println("Java Error!");
      }finally {
         if (input != null) {
            input.close();
         }
         if (output != null) {
            output.close();
         }
      }
   }
}