English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، سنتعلم عن FileOutputStream وطرقه باستخدام أمثلة.
يمكن استخدام كائن FileOutputStream من حزمة java.io لإنشاء بيانات (بأبعاد البايت) لتحريرها في الملف.
أنه يرث كائن OutputStream抽象.
قبل تعلم FileOutputStream، تأكد من فهمملف Java.
لإنشاء تدفق إخراج ملف، يجب علينا أولاً استيراد حزمة java.io.FileOutputStream. بعد استيراد الحزمة، يمكن استخدام Java لإنشاء تدفق إخراج ملف.
1.استخدام مسار الملف
//يتضمن parameter布尔ي FileOutputStream output = new FileOutputStream(String path, boolean value); //لا يتضمن parameter布尔ي FileOutputStream output = new FileOutputStream(String path);
في هذا السياق، قمنا بإنشاء تدفق إخراج، والذي سيتم ربطه بمسار الملف المحدد.
بالإضافة إلى ذلك، يمكن أن يكون parameter布尔ي اختياري. إذا تم تعيينه على true، فإن البيانات الجديدة ستضاف إلى نهاية البيانات الموجودة في الملف. وإلا، ستغطى البيانات الجديدة البيانات الموجودة في الملف.
2.استخدام كائن الملف
FileOutputStream output = new FileOutputStream(File fileObject);
في هذا السياق، قمنا بإنشاء تدفق مخرجات سير ليرتبط بملف محدد بواسطة fileObject.
فئة FileOutputStream تقدم تنفيذًا لمختلف الطرق التي تظهر في فئة OutputStream.
write() - كتابة بيانة واحدة إلى تدفق مخرجات البايتات
write(byte[] array) - كتابة مجموعة البايتات المحددة إلى تدفق الإخراج
write(byte[] array, int start, int length) - كتابة عدد من البايتات يساوي length من بداية الموضع start في مصفوفة إلى تدفق الإخراج
import java.io.FileOutputStream; public class Main { public static void main(String[] args) { String data = "هذا سطر نصي في ملف."; try { FileOutputStream output = new FileOutputStream("output.txt"); byte[] array = data.getBytes(); //كتابة البايتات في الملف output.write(array); output.close(); } catch(Exception e) { e.getStackTrace(); } } }
في المثال السابق، قمنا بإنشاء تدفق مخرجات ملف يُسمى output. تدفق مخرجات الملف يرتبط بالملفoutput.txtالروابط.
FileOutputStream output = new FileOutputStream("output.txt");
لإدخال البيانات إلى الملف، استخدمنا طريقة write().
في هذا السياق، عندما نقوم بتشغيل البرنامج،output.txtسيتم كتابة الملف بما يلي.
هذه سطر نصي في ملف.
الاحتياط: يتم استخدام طريقة getBytes() في البرنامج لتحويل السلسلة إلى مجموعة من البايتات.
لإزالة تدفق الإخراج، يمكنك استخدام طريقة flush(). هذه الطريقة تجبر تدفق الإخراج على كتابة جميع البيانات إلى الهدف. على سبيل المثال،
import java.io.FileOutputStream; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { FileOutputStream out = null; String data = "这是flush方法的演示"; try { out = new FileOutputStream("flush.txt"); //استخدام طريقة write() out.write(data.getBytes()); //استخدام طريقة flush() out.flush(); out.close(); } catch(Exception e) { e.getStackTrace(); } } }
عندما نن�行 البرنامج، يتم إنشاء ملفflush.txtملء بالنص الممثل بـ string data.
لإغلاق تدفق ملف الخرج، يمكنك استخدام طريقة close(). بمجرد استدعاء هذه الطريقة، لا يمكننا استخدام طرق FileOutputStream.
الطريقة | وصف المحتوى |
---|---|
finalize() | تأكد من أن يتم استدعاء طريقة close() |
getChannel() | العودة مع كائن FileChannel مرتبط بالتدفق |
getFD() | العودة مع ملفوصف مرتبط بالتدفق |