الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الكتابة في ملف ....

بدأه bochra في 15 سبتمبر 2009 · 6 رد · 608 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

أنا كتبت برنامج صغير لأجرب بناء ملف خارجي والكتابة فيه

الكود تمام وينشئ لي ملف خارجي ولكنه لا يكتب فيه شيئا مما اكتبه

هذا هو الكود

import java.io.*;
public class WriteFile{
 public static void main(String[] args)
 {
  File file=new File(args[0]);
  try{
  InputStreamReader isr=new InputStreamReader(System.in);
  BufferedReader in=new BufferedReader(isr);

  PrintWriter out=new PrintWriter(new FileWriter(file));

  String s;
  while((s=in.readLine())!=null)
  {
   out.println(s);
  }
  in.close();
  out.close();
  }catch(IOException e1)
  {
   e1.printStackTrace();
  }

 }
}
#2

يجب إضافة شرط آخر في الwhile، لأن الميثود readLine تساوي null عند الوصول إلى نهاية الstream، لكن ما هي نهاية System.in؟؟ فهو دائما مفتوح.

مثلا يمكن التحقق من أن السطر ليس فارغا، وإن كان كذلك ننهي الloop



public class WriteFile{
public static void main(String[] args)
{
File file=new File(args[0]);
try{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader in=new BufferedReader(isr);

PrintWriter out=new PrintWriter(new FileWriter(file));

String s;
while((s=in.readLine())!=null && !s.isEmpty())
{
out.println(s);
}
in.close();
out.close();
} catch(IOException e1) {
e1.printStackTrace();
}

}
}
import java.io.*;

وهذا موضوع يتكلم عن التعامل مع الملفات /index.php?showtopic=125547

تم تعديل هذه المشاركة بواسطة herch في 15 سبتمبر 2009 في 13:51

#3

السلام عليكم ........

الطريقة المثلى للكتابة في ملف نصي هي إستخدام BufferedWriter

الكود سهل الفهم بالتوفيق :

FileWriter fw=new FileWriter("test.txt");
   BufferedWriter bw= new BufferedWriter(fw);
	bw.write("c'est pour vous");
	 bw.newLine();
#4

السلام عليكــم ورحمـة الله وبركاتــه ،،

هاهو الكود بعد أن عدلته كما أشرتما

وهو يعمل 100 % جوزيتم خيرا

كما أن الرابط الذي وضعه الاخ

herch

ممتاز

ولكن لدي سؤال ماهو الفرق بين stream ,System.in

هل أحدهما خاص بالملفات والاخر بالكونسول

import java.io.*;
public class WriteFile{
 public static void main(String[] args)
 {
  File file=new File(args[0]);
  try{
  InputStreamReader isr=new InputStreamReader(System.in);
  BufferedReader in=new BufferedReader(isr);

  BufferedWriter out=new BufferedWriter(new FileWriter(file));

  String s;
  while((s=in.readLine())!= null && !s.isEmpty())
  {
   out.write(s);
   out.newLine();
  }
  in.close();
  out.close();
  }catch(IOException e1)
  {
   e1.printStackTrace();
  }

 }
}
#5

System.in هو عبارة عن Stream يأخذ من المستخدم في أثاناء تشغيل البرنامج

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#6

كما قال أخونا علاء فSystem.in هي نفسها stream وتسمح بالقراءة من الconsole

كلمة stream تعني تيار، يعني إذا أخدنا مثال file stream، فهناك تيار من المعلومات يمر بين البرنامج والملف، كأن أنبوبا يربط بينهما،

#7
herch كتب:

كما قال أخونا علاء فSystem.in هي نفسها stream وتسمح بالقراءة من الconsole

كلمة stream تعني تيار، يعني إذا أخدنا مثال file stream، فهناك تيار من المعلومات يمر بين البرنامج والملف، كأن أنبوبا يربط بينهما،

تشكووووورات أخي العزيز

لا شئ صعب الفهم مع الجافا

مواضيع مشابهة