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 PrintStream

في هذا الدليل، سنتعلم من خلال الأمثلة حول فئة Java PrintStream وطرقها print() وprintf().

يمكن استخدام فئة PrintStream في مكتبة java.io لكتابة البيانات إلى النواتج بتنسيق قابل للقراءة عادة (نصي) بدلاً من التنسيق الثنائي.

إنه يستمر في فئة AbstractClass OutputStream.

مقدمة إلى PrintStream

مختلفة عن التواريخ الأخرى، يقوم PrintStream بتحويل البيانات الأصلية (الأعداد، الحروف) إلى تنسيق نصي بدلاً من التنسيق الثنائي. ثم، سيقوم بكتابة البيانات الم格式رة إلى تيار الإخراج.

وفي الوقت نفسه، لا تقوم فئة PrintStream بإلقاء أي استثناءات إدخال/إخراج. بدلاً من ذلك، نحتاج إلى استخدام طريقة checkError() للبحث عن أي أخطاء

ملاحظة:يملك فئة PrintStream أيضًا وظيفة التصفية التلقائية. هذا يعني أنه سيقوم بكتابة جميع البيانات إلى الوجهة المحددة في حالة ما يلي:

  • إذا كان الرمز الناتج النشط الناتج \n مكتوبًا في تيار الطباعة

  • إذا تم استدعاء طريقة println()

  • إذا تم كتابة مجموعة من البايتات في تيار الطباعة

إنشاء PrintStream

لإنشاء PrintStream، يجب علينا أولاً استيراد مكتبة java.io.PrintStream. بعد استيراد المكتبة، يمكننا إنشاء تيار الطباعة هنا.

1. باستخدام تيار مخرج آخر

//إنشاء FileOutputStream
FileOutputStream file = new FileOutputStream(String file);
//إنشاء PrintStream
PrintStream output = new PrintStream(file, autoFlush);

هنا،

  • لقد أنشأنا تيار الطباعة، الذي سيقوم بكتابة البيانات الم格式رة إلى الملف الذي يمثله FileOutputStream

  • autoFlush هو معامل بولياني اختياري يستخدم لتعيين ما إذا كان يجب تنفيذ التصفية التلقائية

2. باستخدام اسم الملف

 //إنشاء PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush);

هنا،

  • لقد أنشأنا تيار الطباعة، الذي سيقوم بكتابة البيانات الم格式رة إلى الملف المحدد

  • autoFlush هو معامل بولياني اختياري يستخدم لتعيين ما إذا كان يجب تنفيذ التصفية التلقائية

ملاحظة:في هذه الحالات، يستخدم PrintStream بعض الترميزات الافتراضية لتحويل البيانات إلى ملف. ولكن، يمكننا أيضًا تحديد الترميز(UTF8 أو UTF16)。

//استخدام نوع ترميز معين لإنشاء PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);

في هذا المكان، نستخدم فئة Charset لتحديد ترميز الحروف.

طرق فئة PrintStream

تقدم فئة PrintStream مجموعة متنوعة من الطرق التي تمكننا من طباعة إخراج البيانات.

طريقة print()

  • print() - طباعة البيانات المحددة إلى تيار الإخراج

  • println() - طباعة البيانات مع علامة النهاية السفلية إلى تيار الإخراج

مثال: طريقة print() من فئة System

class Main {
    public static void main(String[] args) {
        String data = "Hello World.";
        System.out.print(data);
    }
}

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

Hello World.

في المثال السابق، لم نقم بإنشاء تيار الطباعة. ولكن يمكننا استخدام طريقة print() من فئة PrintStream.

قد تتساءل كيف يمكن هذا. حسنًا، دعني أشرح ما يحدث هنا.

ملاحظة هذا السطر،

System.out.print(data);

هنا،

  • System هي فئة نهائية مسؤولة عن تنفيذ العمليات الإدخال/الإخراج القياسية

  • out هو متغير فئة PrintStream المعلن في فئة System

الآن، نظرًا لأن out من نوع PrintStream، يمكننا استخدامها لندعو جميع طرق فئة PrintStream.

مثال: طريقة print() من فئة PrintStream

import java.io.PrintStream;
class Main {
    public static void main(String[] args) {
        String data = "This is a text inside the file.";
        try {
            PrintStream output = new PrintStream("output.txt");
            output.print(data);
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

في المثال السابق، قمنا بإنشاء تيار الطباعة المسمى output. تيار الطباعة مرتبط بـoutput.txtروابط الملف.

PrintStream output = new PrintStream("output.txt");

للطباعة البيانات على الملف، نستخدم طريقة print().

في هذا السياق، عندما نقوم بتشغيل البرنامج،output.txtسيُملأ الملف بما يلي.

This is a text inside the file.

طريقة printf()

يمكن استخدام طريقة printf() لطباعة السلسلة المformatة. تحتوي على 2 معامل: السلسلة المformatة والمعامل. على سبيل المثال،

printf("I %d years old", 25);

هنا،

  • I am %d years old - هو سلسلة مformatة

  • %d هو بيانات عددية في السلسلة المformatة

  • 25 هو المعامل

السلسلة الم格式مة تشمل النص والبيانات. بالإضافة إلى ذلك، يتم استبدال البيانات في السلسلة المformatة.

لذلك، سنجعل%d استبدالها بـ 25

مثال: استخدام طريقة printf() من PrintStream

import java.io.PrintStream;
class Main {
    public static void main(String[] args) {
        try {
            PrintStream output = new PrintStream("output.txt");
            int age = 25;
            output.printf("أنا عمري %d عامًا.", age);
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

في المثال السابق، قمنا بإنشاء تدفق الطباعة المسمى output. تدفق الطباعة مرتبط بالملفoutput.txtالروابط.

PrintStream output = new PrintStream("output.txt");

لل طباعة النص الم格式ات المطبوع إلى الملف، استخدمنا طريقة printf().

في هذا السياق، عندما نقوم بتشغيل البرنامج،output.txtسيُملأ الملف بما يلي.

أنا عمري 25 عامًا.

طرق أخرى لـ PrintStream

الطريقةوصف المحتوى
close()إغلاق تدفق الطباعة
checkError()تحقق من وجود خطأ في التدفق وإرجاع نتيجة بولية
append()إضافة البيانات المحددة إلى تدفق