CodeGym /مدونة جافا /Random-AR /جافا - الكتابة إلى الملف
John Squirrels
مستوى
San Francisco

جافا - الكتابة إلى الملف

نشرت في المجموعة
إحدى المهام الأكثر شيوعًا في تطوير البرمجيات هي القدرة على قراءة الملفات وكتابتها. في Java، تعد الكتابة إلى ملف عملية مباشرة يمكن إجراؤها باستخدام الفئات والأساليب المضمنة. في هذه المقالة، سوف نستكشف كيفية الكتابة إلى ملف باستخدام Java ونناقش مختلف الفئات والأساليب المعنية. توفر Java فئات مضمنة مثل FileWriter و PrintWriter للكتابة في ملف بلغة Java.

جافا الكتابة إلى ملف مثال

في البداية، دعونا نلقي نظرة على مثال بسيط للكتابة إلى ملف في Java. فيما يلي مثال لكيفية كتابة سلسلة إلى ملف في Java باستخدام فئة FileWriter :

فئة كاتب الملفات

تعد فئة FileWriter طريقة أخرى للكتابة إلى ملف في Java. إنها فئة دفق أحرف تسمح لك بكتابة بيانات الأحرف إلى ملف. فيما يلي مثال يوضح كيفية استخدام فئة FileWriter لكتابة سلسلة إلى ملف:
import java.io.FileWriter;
import java.io.IOException;


// Main method for the string to file in java starts from here,
public class WriteToFileExample {
    public static void main(String[] args) {
        // create a string to write text to file
        String data = "Hello, world!";

        try {
            // create a FileWriter object with the file name
            FileWriter writer = new FileWriter("output.txt");

            // write the string to the file
            writer.write(data);

            // close the writer
            writer.close();

            System.out.println("Successfully wrote text to file.");

        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}
في هذا المثال، نقوم أولاً بإنشاء كائن سلسلة يسمى data يحتوي على النص الذي نريد كتابته إلى ملف. نقوم بعد ذلك بإنشاء كائن FileWriter باسم الملف الذي نريد الكتابة إليه، في هذه الحالة، اسمه put.txt . بعد ذلك، نستخدم طريقة write() ‎ لكائن FileWriter لكتابة سلسلة البيانات إلى الملف. تأخذ هذه الطريقة وسيطة سلسلة تحتوي على البيانات المراد كتابتها. أخيرًا، نغلق كائن FileWriter لتحرير موارد الملف وطباعة رسالة نجاح إلى وحدة التحكم في حالة نجاح عملية الكتابة أو رسالة خطأ في حالة اكتشاف استثناء. تعد فئة FileWriter طريقة بسيطة لكتابة بيانات الأحرف إلى ملف في Java .

فئة FileOutputStream

يتم استخدام فئة FileOutputStream لكتابة البيانات إلى ملف كدفق من البايتات. هنا مثال:
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            FileOutputStream stream = new FileOutputStream("output.txt");
            byte[] bytesToWrite = textToWrite.getBytes();
            stream.write(bytesToWrite);
            stream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
في هذا المثال، قمنا بإنشاء كائن FileOutputStream باسم الدفق باسم الملف "output.txt" للكتابة إليه. نقوم بعد ذلك بتحويل سلسلة textToWrite إلى مصفوفة بايت باستخدام طريقة getBytes() وكتابة مصفوفة البايت إلى كائن الدفق باستخدام طريقة write() . وأخيرًا، نغلق كائن الدفق .

فئة الكاتب المخزن

يتم استخدام فئة BufferedWriter لكتابة نص إلى ملف مزود بإمكانيات التخزين المؤقت . هنا مثال:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
            writer.write(textToWrite);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
في هذا المثال، قمنا بإنشاء كائن BufferedWriter يسمى الكاتب مع كائن FileWriter الذي يكتب إلى الملف "output.txt". نستخدم بعد ذلك طريقة write() لكائن الكاتب لكتابة textToWrite إلى الملف. وأخيرًا، نغلق كائن الكاتب .

طريقة كتابة السلسلة ().

تعد طريقة writeString () طريقة ملائمة تم تقديمها في Java 11 لكتابة سلسلة إلى ملف باستخدام فئة الملفات . يسمح لك بكتابة سلسلة إلى ملف في سطر واحد من التعليمات البرمجية. هنا مثال:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class WriteToFileExample {
    public static void main(String[] args) {
        // create a string to write to a file
        String data = "Hello, world!";

        // create a file object
        Path file = Paths.get("output.txt");

        try {
            // write the string to the file using writeString() method
            Files.writeString(file, data);

            System.out.println("Successfully wrote text to file.");

        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}
في هذا المثال، نقوم أولاً بإنشاء كائن سلسلة يسمى data يحتوي على النص الذي نريد كتابته إلى ملف. نقوم بعد ذلك بإنشاء كائن مسار باسم file يمثل الملف الذي نريد الكتابة إليه، في هذه الحالة، يسمى "output.txt". بعد ذلك، نستخدم الأسلوب Files.writeString() لكتابة سلسلة البيانات إلى الملف الذي يمثله كائن الملف . تأخذ هذه الطريقة وسيطتين: كائن المسار الذي يمثل الملف المراد الكتابة إليه، وكائن السلسلة الذي يحتوي على البيانات المراد كتابتها. وأخيرًا، نطبع رسالة نجاح إلى وحدة التحكم في حالة نجاح عملية الكتابة أو رسالة خطأ في حالة اكتشاف استثناء. تعد طريقة writeString () طريقة ملائمة لكتابة سلسلة إلى ملف باستخدام Java 11 أو إصدار أحدث.

فئة الطباعة والكاتب

تقوم فئة PrintWriter تلقائيًا بمسح المخزن المؤقت للإخراج بعد كتابة كل سطر، مما يضمن كتابة البيانات على الفور إلى الملف. وهذا يجعله اختيارًا مناسبًا لكتابة كميات كبيرة من البيانات النصية إلى ملف. هنا مثال:
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            PrintWriter writer = new PrintWriter(new FileWriter("output.txt"));
            writer.println(textToWrite);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
في هذا المثال، قمنا بإنشاء كائن PrintWriter يسمى الكاتب مع كائن FileWrite الذي يكتب إلى الملف "output.txt". نستخدم بعد ذلك طريقة println() لكائن الكاتب لكتابة textToWrite إلى الملف. وأخيرًا، نغلق كائن الكاتب .

فئة DataOutputStream

يتم استخدام فئة DataOutputStream لكتابة أنواع بيانات Java البدائية إلى ملف كدفق من البايتات . هنا مثال:
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";
        int numberToWrite = 42;

        try {
            DataOutputStream stream = new DataOutputStream(new FileOutputStream("output.txt"));
            stream.writeUTF(textToWrite);
            stream.writeInt(numberToWrite);
            stream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
في هذا المثال، قمنا بإنشاء كائن DataOutputStream باسم تيار ، والذي يكتب في الملف "output.txt". نستخدم بعد ذلك طريقة writeUTF() لكائن الدفق لكتابة سلسلة textToWrite وطريقة writeInt() لكتابة العدد الصحيح numberToWrite إلى الملف. وأخيرًا، نغلق كائن الدفق .

فئة قناة الملف

توفر فئة FileChannel طريقة لكتابة البيانات إلى ملف باستخدام الإدخال/الإخراج المعين للذاكرة . هنا مثال:
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class WriteToFileExample {
    public static void main(String[] args) {
        String textToWrite = "Hello World!";

        try {
            File file = new File("output.txt");
            RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw");
            FileChannel channel = randomAccessFile.getChannel();
            ByteBuffer buffer = ByteBuffer.allocate(1024);
            buffer.put(textToWrite.getBytes());
            buffer.flip();
            channel.write(buffer);
            randomAccessFile.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
في هذا المثال، نقوم أولاً بإنشاء كائن ملف باسم ملف باسم الملف "output.txt" كمعلمة. نقوم بعد ذلك بإنشاء كائن RandomAccessFile باسم RandomAccessFile مع كائن الملف والوضع "rw" كمعلمات. نقوم بعد ذلك بإنشاء كائن FileChannel باسم Channel ، والذي تتم تهيئته باستخدام كائن RandomAccessFile . نقوم بعد ذلك بإنشاء كائن ByteBuffer باسم buffer بسعة 1024 بايت ونضع سلسلة textToWrite كمعلمة. نقوم بعد ذلك بقلب كائن المخزن المؤقت لإعداده للكتابة وكتابته إلى كائن القناة باستخدام طريقة الكتابة () . وأخيرا، نقوم بإغلاق كائن RandomAccessFile .

خاتمة

في الختام، تعد الكتابة إلى ملف باستخدام Java مهمة شائعة في تطوير البرامج والتي يمكن إجراؤها باستخدام العديد من الفئات والأساليب المضمنة. في هذه المقالة، ناقشنا عدة أمثلة حول كيفية الكتابة في ملف، بما في ذلك استخدام فئات FileOutputStream و BufferedWriter و FileWriter و PrintWriter و DataOutputStream و FileChannel . من المهم ملاحظة أنه عند الكتابة إلى ملف، تعد معالجة الأخطاء بشكل صحيح وإغلاق الملف بعد الكتابة أمرًا بالغ الأهمية لضمان حفظ الملف بشكل صحيح وتحرير الموارد بشكل صحيح. باستخدام الأمثلة الواردة في هذه المقالة، يمكن للمبتدئين الآن الحصول على فهم أساسي لكيفية الكتابة إلى ملف باستخدام Java ويمكنهم البدء في التدرب على حالات استخدام مختلفة وتجربتها.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION