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

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

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

مجموعات Java

Java توجيه الأشياء (I)

Java توجيه الأشياء (II)

Java توجيه الأشياء (III)

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

قائمة Java (List)

Java Queue (الطابور)

مجموعات Java Map

مجموعات Java Set

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

قراء/كتابة Java

مواضيع أخرى في Java

برنامج Java يحول InputStream إلى مصفوفة من الأكواد (bytearray)

مجموعة كاملة من أمثلة Java

في هذا المثال، سنتعلم كيفية تحويل تدفق الإدخال إلى مصفوفة من الأكواد في Java.

لفهم هذا المثال، يجب أن تكون على علم بما يليبرمجة Javaالموضوع:

مثال 1: برنامج Java لتحويل InputStream إلى مصفوفة من الأكواد

import java.io.InputStream;
import java.util.Arrays;
import java.io.ByteArrayInputStream;
public class Main {
  public static void main(String args[]) {
    try {
      //إنشاء تدفق إدخال
      byte[] input = {1, 2, 3, 4};
      InputStream stream = new ByteArrayInputStream(input);
      System.out.println("تدفق الإدخال: " + stream);
      //تحويل تدفق الإدخال إلى مصفوفة من البايتات
      byte[] array = stream.readAllBytes();
      System.out.println("حزمةُ البايت: " + Arrays.toString(array))
      stream.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

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

تدفق الإدخال: java.io.ByteArrayInputStream@27082746
حزمةُ البايت: [1, 2, 3, 4]

في المثال السابق، قمنا بإنشاء تدفق إدخال يُدعى stream (InputStream). لاحظ هذا السطر،

byte[] array = stream.readAllBytes();

في هذا المثال، تُرجع طريقة readAllBytes() جميع البيانات من التدفق وتخزنها في مصفوفة من البايتات.

ملاحظة:لقد استخدمنا طريقة Arrays.toString() لتحويل المصفوفة بأكملها إلى سلسلة.

مثال 2: استخدام تدفق المخرج لتحويل InputStream إلى مصفوفة من البايتات

import java.io.InputStream;
import java.util.Arrays;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
public class Main {
  public static void main(String args[]) {
    try {
      //إنشاء تدفق إدخال
      byte[] input = {1, 2, 3, 4};
      InputStream stream = new ByteArrayInputStream(input);
      System.out.println("تدفق الإدخال: " + stream);
      //إنشاء تدفق مخرج
      ByteArrayOutputStream output = new ByteArrayOutputStream();
      //إنشاء مصفوفة من البايتات لتحديد تدفق الإدخال
      byte[] array = new byte[4];
      int i;
      //قراءة جميع البيانات من تدفق الإدخال إلى المصفوفة
      while ((i = stream.read(array, 0, array.length)) != -1) {
        //كتابة جميع البيانات الموجودة في المصفوفة إلى التدفق
        output.write(array, 0, i);
      }
      byte[] data = output.toByteArray();
      //تحويل تدفق الإدخال إلى مصفوفة من البايتات
      System.out.println("حزمةُ البايت: " + Arrays.toString(data));
      stream.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

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

تدفق الإدخال: java.io.ByteArrayInputStream@27082746
مصفوفة Byte: [1, 2, 3, 4]

في المثال السابق، قمنا بإنشاء تدفق إدخال input من مصفوفة array. لاحظ التعبير

stream.read(array, 0, array.length)

في هذا المكان، يتم تخزين جميع العناصر في المصفوفة، تبدأ من مؤشر 0. ثم نحن نحفظ جميع عناصر المصفوفة إلى تدفق الإخراج التسمى output.

output.write(array, 0, i)

في النهاية، نحن نستدعي دالة toByteArray() من فئة ByteArrayOutputStream، لنحوّل تدفق الإخراج إلى مصفوفة تسمى data.

مجموعة كاملة من أمثلة Java