تسمى الكائنات التي تم إنشاؤها بواسطة فئتي DataInputStream وDataOutputStream بتدفقات إدخال البيانات وتدفقات إخراج البيانات . يعد هذان التدفقان تدفقات مفيدة تسمح للبرامج بقراءة بيانات Java الأولية بأسلوب مستقل عن الآلة. بمعنى آخر، عند قراءة قيمة ما، لم تعد بحاجة إلى الاهتمام بعدد البايتات التي يجب أن تكون عليها القيمة.
طرق إنشاء DataInputStream وDataOutputStream هي كما يلي:
يشير دفق إدخال البيانات الذي تم إنشاؤه إلى دفق إدخال أساسي محدد بواسطة المعلمة in.
يشير دفق إخراج البيانات الذي تم إنشاؤه إلى دفق إخراج أساسي محدد بواسطة المعلمة out.
الطرق الشائعة الاستخدام لفئتي DataInputStream و DataOutputStream هي كما يلي:
على سبيل المثال، اكتب عدة أنواع من بيانات Java في ملف ثم قم بقراءتها:
importjava.io.*;publicclassMain{publicstaticvoidmain(Stringargs[]){Filefile=newFile(apple.txt);try{FileOutputStreamfos=newFileOutputStream(file);DataOutputStreamoutData=newDataOutputStream(fos);outData.writeInt(100);outData.writeLong (123456);outData.writeFloat(3.1415926f);outData.writeDouble(987654321.1234);outData.writeBoolean(true);outData.writeChars(Howareyoudoing);}catch(IOExceptione){}try{FileInputStreamfis=newFileInputStream(file);DataInput StreaminData =newDataInputStream(fis);System.out.println(inData.readInt());// قراءة البيانات int System.out.println(inData.readLong());// قراءة البيانات الطويلة System.out.println( +inData .readFloat());// قراءة البيانات العائمة System.out.println(inData.readDouble());// قراءة البيانات المزدوجة System.out.println(inData.readBoolean());// قراءة البيانات المنطقية Charc=' ';while((c=inData.readChar())!='