منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File

اذهب الى الأسفل

التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File Empty التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File

مُساهمة من طرف vbcoder الإثنين أكتوبر 14, 2019 8:23 pm

عند انشاء تطبيق جافا، يلزم أحيانًا كتابة الملفات في java ، على سبيل المثال كتابة التقارير في نظام الملفات. رغم ذلك ، هناك عدة طرق للقيام بذلك ، دعنا نذهب لنشرح تلك الطرق

1_ بإستخدام الاسلوب BufferedWritter

الاسلوب [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] أبسط طريقة لكتابة المحتوى إلى ملف. تكتب النص إلى دفق إخراج الأحرف ، وتخزين الأحرف مؤقتًا لتوفير الكفاءة في كتابة الأحرف المفردة والمصفوفات والسلاسل.

و نظرًا لأنه يتم تخزينه مؤقتًا قبل الكتابة ، يؤدي ذلك إلى تقليل عمليات الإدخال / الإخراج ، وبالتالي تحسين الأداء....مثال :

الكود:

String fileContent = "Hello Learner !! Welcome to egy-tech.forumegypt.net.";
    
    BufferedWriter writer = new BufferedWriter(new FileWriter("c:/temp/samplefile1.txt"));
    writer.write(fileContent);
    writer.close();


2_باستخدام FileWriter

الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] هي الطريقة الأكثر نظافة لكتابة الملفات. بناء الجملة وسهلة القراءة والفهم. يكتب FileWriter مباشرة في ملف ويجب استخدامه فقط عندما يكون عدد عمليات الكتابة أقل

الكود:

String fileContent = "Hello Learner !! Welcome to egy-tech.forumegypt.net.";
    
    FileWriter fileWriter = new FileWriter("c:/temp/samplefile2.txt");
    fileWriter.write(fileContent);
    fileWriter.close();



3_باستخدام PrintWriter

استخدم [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لكتابة نص منسق إلى ملف. تطبق هذه الفئة جميع أساليب الطباعة الموجودة في [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ، بحيث يمكنك استخدام جميع التنسيقات التي تستخدمها مع عبارات System.out.println

الكود:

String fileContent = "Hello Learner !! Welcome to howtodoinjava.com.";
    
    FileWriter fileWriter = new FileWriter("c:/temp/samplefile3.txt");
    PrintWriter printWriter = new PrintWriter(fileWriter);
    printWriter.print(fileContent);
    printWriter.printf("Blog name is %s", "egy-tech.forumegypt.net");
    printWriter.close();


4_باستخدام FileOutputStream

استخدم [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لكتابة البيانات الثنائية binary data إلى ملف. المقصود FileOutputStream لكتابة تدفقات البايتات الخام مثل بيانات الصورة و الصوت و الفيديوا ...الخ
الكود:

String fileContent = "Hello Learner !! Welcome to howtodoinjava.com.";
    
    FileOutputStream outputStream = new FileOutputStream("c:/temp/samplefile4.txt");
    byte[] strToBytes = fileContent.getBytes();
    outputStream.write(strToBytes);
  
    outputStream.close();


5_باستخدام DataOutputStream

يتيح [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] للتطبيق كتابة أنواع بيانات Java البدائية إلى دفق إخراج بطريقة محمولة. يمكن للتطبيق بعد ذلك استخدام دفق إدخال البيانات لقراءة البيانات مرة أخرى

الكود:
String fileContent = "Hello Learner !! Welcome to howtodoinjava.com.";
    
    FileOutputStream outputStream = new FileOutputStream("c:/temp/samplefile5.txt");
    DataOutputStream dataOutStream = new DataOutputStream(new BufferedOutputStream(outputStream));
    dataOutStream.writeUTF(fileContent);
  
    dataOutStream.close();

6_باستخدام FileChannel

يمكن استخدام [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لقراءة الملف وكتابته وتعيينه ومعالجته. إذا كنت تتعامل مع الملفات الكبيرة ، يمكن أن يكون [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] أسرع من IO القياسي.

قنوات الملفات آمنة للاستخدام من قِبل العديد من مؤشرات الترابط المتزامنة.

الكود:
String fileContent = "Hello Learner !! Welcome to howtodoinjava.com.";
    
    RandomAccessFile stream = new RandomAccessFile("c:/temp/samplefile6.txt", "rw");
    FileChannel channel = stream.getChannel();
    byte[] strBytes = fileContent.getBytes();
    ByteBuffer buffer = ByteBuffer.allocate(strBytes.length);
    buffer.put(strBytes);
    buffer.flip();
    channel.write(buffer);
    stream.close();
    channel.close();

7_باستخدام Java 7 Path

بدء من الاصدار 7 تقدم Java الفئة FILE، ويمكننا كتابة ملف باستخدام وظيفة الكتابة ، ويستخدم داخليًا OutputStream لكتابة صفيف بايت في الملف.

الكود:
String fileContent = "Hello Learner !! Welcome to howtodoinjava.com.";
    
    Path path = Paths.get("c:/temp/samplefile7.txt");
  
    Files.write(path, fileContent.getBytes());


خلاصة ما سبق :


  • إذا حاولنا الكتابة إلى ملف غير موجود ، فسيتم إنشاء الملف أولاً ولن يتم طرح أي استثناء (باستثناء استخدام طريقة Path).
  • أغلق دفق الإخراج دائمًا بعد كتابة محتوى الملف لتحرير جميع الموارد. سيساعد أيضًا في عدم إتلاف الملف.





vbcoder
vbcoder
....
....

تاريخ التسجيل : 18/11/2018
المساهمات : 51
النقاط : 81
التقيم : 4
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File Empty رد: التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File

مُساهمة من طرف زهراء الثلاثاء أكتوبر 15, 2019 7:41 pm

بداية موفقة
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File Empty رد: التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File

مُساهمة من طرف أحمد مناع الأربعاء أكتوبر 23, 2019 5:48 pm

التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File 1f44d  التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File 1f44d  التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File 1f44c  التعامل مع الملفات فى الجافا 2_الكتابة الى الملف Write to File 1f44d

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى