Javaالكلاس FileOutputStream
في جافا
يستخدم هذا الكلاس لإنشاء ملف جديد و كتابة البيانات فيه.
في حال وجود ملف يحمل نفس الإسم و النوع في نفس المسار الموضوع للـ OutputStream
, سيتم تبديل الملف القديم بملف الـ OutputStream
الجديد.
يحتوي هذا الكلاس على أكثر من كونستركتور.
الكونستركتور التالي نمرر له إسم الملف كـ String
لإنشاء كائن الـ OutputStream
و الذي من خلاله يمكن قراءة الملف. مثال:
OutputStream is = new FileOutputStream("C://MyFiles//test.txt")
الكونستركتور التالي نمرر له كائن نوعه File
لإنشاء كائن الـ OutputStream
و الذي من خلاله يمكن قراءة الملف. يجب إنشاء كائن الـ File
قبله. مثال:
File f = new File("C://MyFiles//test.txt") OutputStream is = new FileOutputStream(f);
بعد أن يصبح كائن الـ OutputStream
جاهزاً, يمكنك إستخدام الكثير من الدوال الجاهزة لقراءة الملف أو لفعل أي شيء آخر.
الدالة مع تعريفها | |
---|---|
1 | public void close() throws IOException
تغلق الـ OutputStream و تقطع الإتصال بين الـ Stream و أي مصدر كان متصلاً فيه. |
2 | public void write(int b) throws IOException
تكتب الـ byte التي تمرر لها كـ argumentفي الـ OutputStream . |
3 | public void write(byte[] b) throws IOException
تكتب مجموعة الـ bytes الموجودين في المصفوفة b في الـ OutputStream . |
4 | public void wirte(byte[] b, int off, int len) throws IOException
تكتب مجموعة من الـ bytes الموجودين في المصفوفة b في الـ OutputStream .المتغير off يقصد به من أي عنصر في المصفوفة b سيكتب في الـ OutputStream .المتغير len يقصد به كم عنصر من عناصر المصفوفة b سيكتب في الـ OutputStream . |
مثال
في هذا المثال سنقوم بإنشاء ملف جديد و كتابة بعض البيانات فيه, ثم سنقوم بقراءة هذه البيانات من الملف.
import java.io.InputStream; import java.io.OutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Main { public static void main(String[] args) { try { // لخلق ملف جديد و الذي سنكتب قيم المصفوفة فيه OutputStream هنا قمنا بإنشاء مصفوفة, و قمنا بإنشاء كائن نوعه byte[] bytes = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; OutputStream os = new FileOutputStream("test.txt"); // هنا قمنا بكتابة قيم المصفوفة في الملف for (int i=0; i<bytes.length; i++) { os.write( bytes[i] ); } os.close(); // و الذي سنقرأ بواسطته محتوى الملف InputStream هنا قمنا بإنشاء كائن نوعه InputStream is = new FileInputStream("test.txt"); // size الموجودين في الملف في المتغير bytes هنا قمنا بتخزين عدد الـ int size = is.available(); // موجودة في الملف byte هنا قمنا بقراءة و عرض كل for (int i=0; i<size; i++) { System.out.print( is.read() + " " ); } is.close(); } catch(IOException e) { System.out.println("There is IOException!"); } } }
سنحصل على النتيجة التالية عند التشغيل.
1 2 3 4 5 6 7 8 9 10