ในบทนี้ เราจะเรียนรู้ อินพุตและเอาท์พุต ของภาษา Java เราทุกคนรู้ดีว่าในระหว่างการรันโปรแกรม ข้อมูลที่จำเป็นอาจจำเป็นต้องอ่านจากสื่อเก็บข้อมูลภายนอกหรือโปรแกรมอื่น ๆ ที่จำเป็นต้องมีการใช้งาน ของกระแสอินพุต จุดของสตรีมอินพุตเรียกว่าแหล่งที่มา และโปรแกรมจะอ่านข้อมูลจากแหล่งที่มาผ่านสตรีมอินพุต
ในทางกลับกัน หลังจากที่โปรแกรมประมวลผลข้อมูลแล้ว อาจจำเป็นต้องเขียนผลการประมวลผลลงในสื่อบันทึกข้อมูลถาวรหรือส่งไปยังแอปพลิเคชันอื่นๆ ซึ่งต้องใช้สตรีมเอาต์พุต จุดของสตรีมเอาท์พุตเรียกว่าปลายทาง และโปรแกรมจะถ่ายโอนข้อมูลไปยังปลายทางผ่านสตรีมเอาท์พุต
แม้ว่า สตรีม I/O มักจะเชื่อมโยงกับการเข้าถึงไฟล์ดิสก์ แต่ต้นทางและปลายทางอาจเป็นคีย์บอร์ด หน่วยความจำ หรือหน้าต่างมอนิเตอร์ก็ได้
แพ็คเกจ java.io (ไลบรารีสตรีม I/O) มี คลาสสตรีม จำนวนมาก สตรีมอินพุตทั้งหมดเป็นคลาสย่อยของคลาสนามธรรม InputStream (สตรีมอินพุตไบต์) หรือคลาสนามธรรม Reader (สตรีมอินพุตอักขระ) และสตรีมเอาต์พุตทั้งหมด เป็นคลาสย่อยของคลาสนามธรรม OutputStream (สตรีมเอาต์พุตไบต์) หรือนักเขียนคลาสนามธรรม (สตรีมเอาต์พุตอักขระ)