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

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

Java Flow Control

Java Arrays

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

معالجة الاستثنائات Java

Java List

Java Queue (المحتويات)

Java Map Collections

Java Set Collections

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

Java Reader/Writer

مواضيع أخرى Java

كائن FileOutputStream

في هذا الدرس، سنتعلم عن FileOutputStream وطرقه باستخدام أمثلة.

يمكن استخدام كائن FileOutputStream من حزمة java.io لإنشاء بيانات (بأبعاد البايت) لتحريرها في الملف.

أنه يرث كائن OutputStream抽象.

قبل تعلم FileOutputStream، تأكد من فهمملف Java.

إنشاء FileOutputStream

لإنشاء تدفق إخراج ملف، يجب علينا أولاً استيراد حزمة 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

فئة FileOutputStream تقدم تنفيذًا لمختلف الطرق التي تظهر في فئة OutputStream.

طريقة write()

  • write() - كتابة بيانة واحدة إلى تدفق مخرجات البايتات

  • write(byte[] array) - كتابة مجموعة البايتات المحددة إلى تدفق الإخراج

  • write(byte[] array, int start, int length) - كتابة عدد من البايتات يساوي length من بداية الموضع start في مصفوفة إلى تدفق الإخراج

النموذج: إدخال بيانات في ملف باستخدام FileOutputStream

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()

لإزالة تدفق الإخراج، يمكنك استخدام طريقة 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()

لإغلاق تدفق ملف الخرج، يمكنك استخدام طريقة close(). بمجرد استدعاء هذه الطريقة، لا يمكننا استخدام طرق FileOutputStream.

طرق أخرى لFileOutputStream

الطريقةوصف المحتوى
finalize()تأكد من أن يتم استدعاء طريقة close()
getChannel()العودة مع كائن FileChannel مرتبط بالتدفق
getFD()العودة مع ملفوصف مرتبط بالتدفق