[فكرة] :إعادة توجيه جميع مخرجات برنامج java نحو ملف

لدى كتابة برامج بلغة الـ java  فإنه غالبا ما نبدأ في إظهار بعد النتائج على الـ console  لنعرف إن كانت عملية ما قد تمت بصورة صحيحة،
لكن أحيانا لما تكثر هذه المخرجات و تتعدى بضع الآلاف (و أحيانا بعض المئات)  فإنه من الصعب قراءتها من الـ console   إما لأن لون الـ console  غير مريح  أو أن كثرة المخرجات جعل من المستحيل قراءة أولى البيانات  (عدد الأسطر التي يمكن قراءتها في الـ console محدود و لهذا عندما يتم تجاوز حد ما فإنه يتم حذف السطور الأولى)

و عليه فإنه أول ما يتبادر إلى ذهنك هو كتابة النتائج في ملف نصي لقراءتها لاحقا

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

System.setOut(new PrintStream(new FileOutputStream(“c:\\out.txt”)));
System.setErr(new PrintStream(new FileOutputStream(“c:\\error.txt”)));

حيث أن السطر الأول سيوجه جميع المخرجات الطبيعية إلى الملف

c:\out.txt

أما الثاني فسيرسل جميع رسالات الخطأ إلى المل

c:\error.txt