Javaالكلاس DataInputStream
في جافا
الكلاس DataInputStream
يستخدم لقراءة البيانات البدائية primitive data types من ملف معين.
الكونستركتور التالي ينشئ كائن DataInputStream
و الذي من خلاله يمكن قراءة الملف. مثال:
InputStream in = new DataInputStream(InputStream in)
بعد أن يصبح كائن الـ InputStream
جاهزاً, يمكنك إستخدام الكثير من الدوال الجاهزة لقراءة الملف أو لفعل أي شيء آخر.
الدالة مع تعريفها | |
---|---|
1 | public final int read() throws IOException
في كل مرة تستدعى فيها تقرأ بعض الـ bytes من بيانات الـ InputStream و تخزنهم في المصفوفة b ثم ترجع عدد البيانات الذي قرأته.ترجع 1- إذا وصلت لنهاية الملف. |
2 | public final int read(byte[] b, int off, int len) throws IOException
في كل مرة تستدعى فيها تقرأ مجموعة bytes جديدة من بيانات الـ InputStream و تخزنهم في المصفوفة b .المتغير off يقصد به من أي عنصر في المصفوفة b سيكتب في الـ InputStream .المتغير len يقصد به كم عنصر من عناصر المصفوفة b سيكتب في الـ InputStream . |
3 | public String readLine() throws IOException
في كل مرة تستدعى فيها تقرأ بيانات سطر جديد من الـ InputStream . تقرأ الـ bytes بالترتيب الموجودين فيه مع تحويل كل byte بشكل منفصل إلى حرف. في الأخير ترجع الأحرف التي قرأتها كـ String . |
4 | public final boolean readBoolean() throws IOException
في كل مرة تستدعى فيها تقرأ 1 byte من الـ InputStream . و ترجعها كـ boolean . |
5 | public final byte readByte() throws IOException
في كل مرة تستدعى فيها تقرأ 1 byte من الـ InputStream . و ترجعها كـ byte . |
6 | public final char readChar() throws IOException
في كل مرة تستدعى فيها تقرأ 2 bytes من الـ InputStream . و ترجعهم كـ Char . |
7 | public final int readInt() throws IOException
في كل مرة تستدعى فيها تقرأ 4 bytes من الـ InputStream . و ترجعهم كـ int . |
مثال
في هذا المثال سنقوم بإنشاء ملف جديد و كتابة نص صغير فيه, ثم سنقوم بقراءة النص من الملف.
import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { // UTF-8 ملاحظة هنا يعتمد الترميز .fis من خلال الكائن DataOutputStream هنا قمنا بإنشاء كائن نوعه DataOutputStream dos = new DataOutputStream(new FileOutputStream("C:\\myFiles\\example.txt")); // هنا قمنا بكتابة نص في الملف dos.writeUTF("harmash.com" + "\n" + "أفضل موقع عربي لتعلم البرمجة"); // UTF-8 ملاحظة هنا يعتمد الترميز .dos من خلال الكائن DataInputStream هنا قمنا بإنشاء كائن نوعه DataInputStream dis = new DataInputStream(new FileInputStream("C:\\myFiles\\example.txt")); // هنا قمنا بقراءة محتوى الملف ثم عرضه while (dis.available()>0) { String k = dis.readUTF(); System.out.print(k); } } }
سنحصل على النتيجة التالية عند التشغيل.
harmash.com أفضل موقع عربي لتعلم البرمجة