از اسمشون هم مشخصه.
inputstream برای خواندن از یه فایل هست و outputstream برای نوشتن در یک فایل
البته این دو کلاس abstract هستند یعنی شما نمی تونید به صورت مستقیم ازشون استفاده کنید.
یعنی فقط یه استاندارد تعریف می کنند برای بقیه ی کلاس ها .
مثلا نسخه ای که بشه باهاش با فایل کار کرد میشه .FileInputStream و FileoutputStream
برای خواندن
کافیه یک فایل بسازید.با یه آدرس مشخص
File f=new File("c:/file.txt");
FileInputStream fis=new FileInputStream(f);
حالا می تونید هر جوری خواستید از این بخونید.
البته مدل های مختلفی برای خواندن وجود داره . کلاس های دیگه ای که خوندن ازشون راحت تره.
مثل DataInputStream که اینجوری ازش استفاده میشه.
DataInputStream dis=new DataInputStream(fis);
dis.readLine(); // یه خط رو کامل براتون می خونه و برمی گردونه.
در نهایت هم یادت نره که حتما فایل رو ببندی.
fis.close();
یا
dis.close();
برای outputStream هم دقیقا این کلاس ها وجود داره که برای نوشتن در فایل استفاده می شه و به جای read از write استفاده می کنی و در نهایت هم باید دوباره close رو صدا بزنی که باز نمونه.