"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية معالجة مشكلات إعادة توجيه الإخراج باستخدام وقت تشغيل Java؟

كيفية معالجة مشكلات إعادة توجيه الإخراج باستخدام وقت تشغيل Java؟

تم النشر بتاريخ 2024-11-07
تصفح:519

How to Address Output Redirection Issues Using Java\'s Runtime?

حل مشكلة إعادة توجيه المخرجات باستخدام أسلوب exec() الخاص بوقت التشغيل

في Java، استخدام Runtime.getRuntime().exec() لتشغيل أمر يسمح بالتقاط تفاصيل العملية تيارات الإخراج والخطأ. ومع ذلك، في الحالات التي تكون فيها إعادة توجيه المخرجات مطلوبة، قد تكون هذه الطريقة وحدها غير فعالة.

المشكلة: عدم إعادة توجيه المخرجات

عند استخدام Runtime.getRuntime().exec() مع الأوامر التي إعادة توجيه إخراج الميزة، مثل > ، قد تفشل عملية إعادة التوجيه. قد لا يتم إنشاء الملف الهدف، ويظل دفق الإخراج بدون إعادة توجيه.

الحل: توظيف ProcessBuilder

لإعادة توجيه الإخراج بنجاح، فكر في استخدام ProcessBuilder بدلاً من ذلك. تقدم هذه الفئة نهجًا أكثر تفصيلاً لإنشاء العملية، مما يتيح تحديد إعادة توجيه دفق الأخطاء والمخرجات.

إليك كيفية استخدام ProcessBuilder لإعادة توجيه المخرجات:

ProcessBuilder builder = new ProcessBuilder("sh", "somescript.sh");
builder.redirectOutput(new File("out.txt"));
builder.redirectError(new File("out.txt"));
Process p = builder.start(); // may throw IOException

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

بيان الافراج أعيد طبع هذه المقالة على: 1729728181 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3