English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمات Java الأساسية

تحكم Java في العملية

مجموعات Java Array

Java موجه إلى الكائنات (I)

Java موجه إلى الكائنات (II)

Java موجه إلى الكائنات (III)

معالجة الاستثناءات في Java

قوائم Java List

Java Queue (الطابور)

مجموعات Java Map

مجموعات Java Set

Java إدخال/إخراج (I/O)

Java Reader/Writer

مواضيع أخرى Java

Java InputStream فئة

في هذا الدرس، سنتعلم عن فئة Java InputStream وطرقها من خلال مثال.

فئة InputStream في حزمة java.io هي فئة فوقية抽象ة، تمثل تدفق البايتات في الدخول.

بما أن InputStream هي فئة抽象ة، فإنها ليست مفيدة بشكل مباشر. ولكن يمكن استخدام فئات فرعية لها لقراءة البيانات.

فئات فرعية InputStream

للبدء في استخدام وظائف InputStream، يمكننا استخدام فئات فرعية.

في الدرس التالي، سنتعلم جميع هذه الفئات الفرعية.

إنشاء InputStream

لإنشاء تدفق إدخال، يجب علينا أولاً استيراد حزمة java.io.InputStream. بعد استيراد الحزمة، يمكننا إنشاء تدفق إدخال.

//إنشاء InputStream
InputStream object1 = new FileInputStream();

في هذا الموضع، نستخدم FileInputStream لإنشاء تدفق إدخال. لأن InputStream هو Class抽象ة. لذلك، لا يمكننا إنشاء Object من InputStream.

ملاحظة: يمكننا أيضًا إنشاء تدفقات إدخال من فرعات أخرى ل InputStream.

methods من InputStream

يقدم Class InputStream methods مختلفة يتم تنفيذها بواسطة فرعاتها.

  • read() - قراءة بيت واحد من تدفق الإدخال

  • read(byte[] array) - قراءة البايتات من تدفق الإدخال ووضعها في المجموعة المحددة

  • available() - العودة إلى عدد البايتات المتاحة في تدفق الإدخال

  • mark() - وضع علامة على موقع البيانات في تدفق الإدخال

  • reset() - عودة نقطة التحكم إلى النقطة التي تم فيها تعيين mark

  • markSupported() - التحقق مما إذا كان تدفق الإدخال يدعم methods mark() و reset()

  • skips() - التخطي والرمي بعيدًا عن عدد البايتات المحددة في تدفق الإدخال

  • close() - إغلاق تدفق الإدخال

مثال: استخدام FileInputStream في InputStream

هذه هي الطريقة التي يتم بها تنفيذ methods من قبل الفئة FileInputStream

افترض أن لدينا ملفًا يُدعىinput.txtالمحتوى التالي في الملف،

هذا نص سطر من الملف.

لنحاول استخدام FileInputStream (فرع من InputStream) لقراءة هذا الملف.

import java.io.FileInputStream;
import java.io.InputStream;
public class Main
    public static void main(String args[])
        byte[] array = new byte[100];
        try
            InputStream input = new FileInputStream("input.txt");
            System.out.println("البايتات المتاحة في الملف:	" + input.available());
            //قراءة البايتات من تدفق الإدخال
            input.read(array);
            System.out.println("بيانات المستند من الملف:");
            //حول مجموعة البايتات إلى نص
            String data = new String(array);
            System.out.println(data);
            //إغلاق تدفق الإدخال
            input.close();
        }
        catch (Exception e) {
            e.getStackTrace();
        }
    }
}

نتائج الإخراج

البites المتاحة في الملف: 35
بيانات تم قراءتها من الملف:
هذا نص سطر من الملف.

في المثال أعلاه، استخدمنا فئة FileInputStream لإنشاء تدفق الإدخال. تدفق الإدخال مرتبط بالملف.input.txtالروابط.

InputStream input = new FileInputStream("input.txt");

لمنinput.txtلقراءة البيانات من الملف، قمنا بتنفيذ هذين الأسلوبين.

input.read(array);      //قراءة البيانات من تدفق الإدخال
input.close();             //إغلاق تدفق الإدخال