Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

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.


مثال

في هذا المثال سنقوم بإنشاء ملف جديد و كتابة نص صغير فيه, ثم سنقوم بقراءة النص من الملف.

Main.java
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
أفضل موقع عربي لتعلم البرمجة