English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدليل، سنتعلم من خلال الأمثلة حول فئة Java PrintStream وطرقها print() وprintf().
يمكن استخدام فئة PrintStream في مكتبة java.io لكتابة البيانات إلى النواتج بتنسيق قابل للقراءة عادة (نصي) بدلاً من التنسيق الثنائي.
إنه يستمر في فئة AbstractClass OutputStream.
مختلفة عن التواريخ الأخرى، يقوم PrintStream بتحويل البيانات الأصلية (الأعداد، الحروف) إلى تنسيق نصي بدلاً من التنسيق الثنائي. ثم، سيقوم بكتابة البيانات الم格式رة إلى تيار الإخراج.
وفي الوقت نفسه، لا تقوم فئة PrintStream بإلقاء أي استثناءات إدخال/إخراج. بدلاً من ذلك، نحتاج إلى استخدام طريقة checkError() للبحث عن أي أخطاء
ملاحظة:يملك فئة PrintStream أيضًا وظيفة التصفية التلقائية. هذا يعني أنه سيقوم بكتابة جميع البيانات إلى الوجهة المحددة في حالة ما يلي:
إذا كان الرمز الناتج النشط الناتج \n مكتوبًا في تيار الطباعة
إذا تم استدعاء طريقة println()
إذا تم كتابة مجموعة من البايتات في تيار الطباعة
لإنشاء 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 مجموعة متنوعة من الطرق التي تمكننا من طباعة إخراج البيانات.
print() - طباعة البيانات المحددة إلى تيار الإخراج
println() - طباعة البيانات مع علامة النهاية السفلية إلى تيار الإخراج
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.
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() لطباعة السلسلة المformatة. تحتوي على 2 معامل: السلسلة المformatة والمعامل. على سبيل المثال،
printf("I %d years old", 25);
هنا،
I am %d years old - هو سلسلة مformatة
%d هو بيانات عددية في السلسلة المformatة
25 هو المعامل
السلسلة الم格式مة تشمل النص والبيانات. بالإضافة إلى ذلك، يتم استبدال البيانات في السلسلة المformatة.
لذلك، سنجعل%d استبدالها بـ 25。
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 عامًا.
الطريقة | وصف المحتوى |
---|---|
close() | إغلاق تدفق الطباعة |
checkError() | تحقق من وجود خطأ في التدفق وإرجاع نتيجة بولية |
append() | إضافة البيانات المحددة إلى تدفق |