Java I/O Streams Summary with Examples
Type Main Classes Used For Example Code
📘 Byte Stream FileInputStream, FileOutputStream Reading and writing binary files (images, audio, etc.) try(FileOutputStream fos = new FileOutputStream("image_copy.png")) { fos.write(65); System.out.println("Byte written successfully!"); }
✍️ Character Stream FileReader, FileWriter Reading/writing text files (Unicode support) try(FileReader fr = new FileReader("message.txt")) { int ch; while((ch = fr.read()) != -1) { System.out.print((char)ch); } }
⚡ Buffered Stream BufferedReader, BufferedWriter Efficient reading/writing using buffer memory try(BufferedWriter bw = new BufferedWriter(new FileWriter("notes.txt"))) { bw.write("Java I/O is powerful and flexible."); bw.newLine(); bw.write("Buffered streams make it faster!"); }
💾 Data Stream DataInputStream, DataOutputStream Storing primitive data types in binary format try(DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.bin"))) { dos.writeInt(2025); dos.writeUTF("Java"); dos.writeDouble(99.5); }
🧩 Object Stream ObjectInputStream, ObjectOutputStream Saving and restoring entire Java objects class Person implements Serializable { String name; int age; Person(String n, int a){ name=n; age=a; } } try(ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.ser"))) { oos.writeObject(new Person("Adeel", 22)); }
🖥️ Standard Stream System.in, System.out, System.err Console-based I/O operations Scanner input = new Scanner(System.in); System.out.print("Enter number: "); int n = input.nextInt(); System.out.println("Square: " + (n*n));
🔒 Serialization ObjectOutputStream, ObjectInputStream Persisting object state to disk and restoring it try(ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.ser"))) { Person p = (Person) ois.readObject(); System.out.println(p.name + " - " + p.age); }

Leave a Reply

Your email address will not be published. Required fields are marked *