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

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

Java تحكم في العملية

Java مصفوفات

Java توجيهي (I)

Java توجيهي (II)

Java توجيهي (III)

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

Java قائمة List

Java Queue (الطابور)

Java مجموعة Map

Java مجموعة Set

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

Java Reader/Writer

مواضيع أخرى في Java

Java FileWriter فئة

في هذا الدرس، سنتعلم من خلال الأمثلة عن FileWriter في Java ومتغيراته

يمكن استخدام كلاس FileWriter في حزمة java.io لتحويل البيانات (بصفتها حروفًا) إلى الملف

أنه يرث كلاس OutputStreamWriter

قبل معرفة المزيد عن FileWriter، تأكد من أنك تفهمملف Java.

إنشاء FileWriter

لإنشاء كاتب ملف، يجب علينا أولاً استيراد حزمة Java.io.FileWriter. بعد استيراد الحزمة، يمكننا إنشاء كاتب ملف.

1. استخدام الاسم

FileWriter output = new FileWriter(String name);

في هذا السياق، قمنا بإنشاء كاتب ملف، والذي سيتم ربطه بالنص المحدد

2. استخدام كائن الملف

FileWriter input = new FileWriter(File fileObj);

في هذا السياق، قمنا بإنشاء كاتب ملف، والذي سيتم ربطه بالملف المحدد من قبل كائن الملف

في المثال السابق، تم تخزين البيانات باستخدام إ编码 حروف افتراضية

لكن، منذ Java 11، يمكننا أيضًا تحديد نوع إ编码 الحروفUTF8أوUTF16)

FileWriter input = new FileWriter(String file, Charset cs);

في هذا السياق، نستخدم كلاس Charset للتحديد إ编码 الكاتب الملف

طرق FileWriter

يقدم كلاس FileWriter تنفيذًا للمتغيرات المختلفة التي تظهر في كلاس Writer

طريقة write()

  • write() - يكتب حرفًا واحدًا إلى الكاتب

  • write(char[] array) - يكتب حروف الصف المحددة في الكاتب

  • write(String data) - يكتب النص المحدد في الكاتب

مثال: FileWriter يكتب البيانات في الملف

import java.io.FileWriter;
public class Main {
  public static void main(String args[]) {
    String data = "هذا هو البيانات في ملف الناتج";
    try {
      // 创建 FileWriter
      FileWriter output = new FileWriter("output.txt");
      // 将字符串写入文件
      output.write(data);
      //关闭 writer
      output.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

في المثال السابق، قمنا بإنشاء ملف كاتب يُدعى output. قراء الملفات مرتبطة بـoutput.txtروابط الملف.

FileWriter output = new FileWriter("output.txt");

لإدخال البيانات إلى الملف، استخدمنا طريقة write().

في هذا السياق، عند تشغيل البرنامج،output.txtسيُملأ الملف بالمحتوى التالي.

هذا هو سطر النص داخل الملف.

getEncoding()方法

getEncoding()方法可用于获取用于写入数据的编码类型。例如,

import java.io.FileWriter;
import java.nio.charset.Charset;
class Main {
  public static void main(String[] args) {
    String file = "output.txt";
    try {
      //使用默认编码创建一个FileReader
      FileWriter output1 = new FileWriter(file);
      //创建一个FileReader指定编码
      FileWriter output2 = new FileWriter(file, Charset.forName("UTF8"));
      //返回阅读器的字符编码
      System.out.println("output1的字符编码: " + output1.getEncoding());
      System.out.println("output2的字符编码: " + output2.getEncoding());
      // 关闭 reader
      output1.close();
      output2.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

نتائج الإخراج

تشفير الحروف للـ output1: Cp1252
تشفير الحروف للـ output2: UTF8

في المثال السابق، قمنا بإنشاء كاتب ملفين، يُدعى كل منهما output1 وoutput2.

  • لم يتم تعيين تشفير الحروف للـ output1. لذلك، يرجع طريقة getEncoding() إلى التشفير الافتراضي.

  • تعيين تشفير الحروف للـ output2UTF8لذلك، يرجع طريقة getEncoding() إلى تشفير الحروف المحدد.

النصائحنحن قد استخدمنا طريقة Charset.forName() لتعريف نوع تشفير الحروف.

طريقة close()

لإغلاق كاتب الملف، يمكننا استخدام طريقة close(). بعد التدعيم على طريقة close()، لا يمكن استخدام الكاتب لتحرير البيانات.

طرق أخرى لـ FileWriter

الطريقةوصف
flush()إجبار الكاتب على كتابة جميع البيانات الموجودة فيه إلى وجهة الوجهة المحددة
append()إدراج الحرف المحدد في الكاتب الحالي