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

استدعاء Dos Shell داخل كود الجافا

بدأه شاب-حباب في 13 سبتمبر 2008 · 22 رد · 1,991 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخوان ...

السؤال بأختصار ::

شلون انفذ امر دوز مثلا

md newfolder

من داخل كود الجافا ...

سويت بحث قبل مااكتب سؤالي لكيت


{
System.out.printf ("mohammed fadhil");
Runtime r=Runtime.getRuntime();
r.exec("cmd.exe /C md newfolder");
}
public static void main(String args[])

بس يطلعلي خطأ ioexception must declare

الظاهر مايشوف الكلاس مال الميثود بس المشكلة سويت امبورت لل io , util

ومانفع ياريت خبرتكم شباب :blink:

تحياتي

m16.jpg

سأحمل روحي على راحتي والقي بها في مهاوي الردا

فأما حياة تسر الصديق و اما ممات يغيض العدا

#2

الكــود يطلب منك وضع الامر داخل بلوك استثناء ...

جرب الكود التالي:

public class TestCommmands {

	public static void main(String[] args) {

		try
		{
			Process process=Runtime.getRuntime().exec("cmd.exe /C md newfolder");

		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
	}
}

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#3

كلامك صحيح بنت اليمن انا شخصيا أعمل زي هدا الكود و شغال تمام

image-27.gif

concepteur realisateur java j2ee

php5 and asp

#4

اخي في مثل الاجزاء لايد انا تعالج الاستثنااءت في اللغة و هتمشي معاك يا بنت اليمن يا قالت بالظبط

و سلامي ليكي ديما ........ بنت اليمن منورة ديما بافكارك و نصايحك ورمضان كريم

mylogo.gif

#5

حياكم الله اخواني .. و المنتدى اكيد منور بيك اخي سامح :)

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#6

اشتغل مضبوط تسلمين اختي بنت اليمن .. شكرا للجميع

ابصراحة انا كنت اتوقع هالعملية هي فقط حتى يصير سيطرة على الايرر ال يحدث بالبرنامج وحلة داخليا بدون تدخل النظام ...

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

زين ليش ؟؟ وليش لهالامر ؟؟ وماهي الاوامر او طبيعة الاوامر اللي تطلب اتكون داخل ايكسيبشن ؟؟

شكرا مرة ثانية ..

m16.jpg

سأحمل روحي على راحتي والقي بها في مهاوي الردا

فأما حياة تسر الصديق و اما ممات يغيض العدا

#7

ما أعرفه هو أنه في تعريف method

بنقول أنها بترمي exception

وبالتالي الكومبيلر بيجبرنا أننا نحط الميثود دي لما نيجي نستخدمها بين try و catch

أو أني أنقلها للي بعدي علشان هو اللي يهندل الاكسبشن لكن غير كدا مينفعش لأن اللي عمل الميثود حط الجزء الخاص بالاكسبشن مخصوص علشان يجبر مستخدم الميثود علي أنه يهندله ودا بيكون لأن الميثود من المحتمل أنها هترمي exception

دي ميثود مثلا بترمي نوعين exception


throws ServletException ,IOException</font>
{
PrintWriter out = response.getWriter();

System.out.println("iam in servise method");
}
public void service (ServletRequest Request ,ServletResponse response )

طبعا لما نيجي ننادي علي الميثود دي لازم نحطها بين

try

{

call method

}catch(ExceptionType ExceptionName )

{ handling Exception }

هذا ما أعرفه والله أعلم

#8

الامر هو اننا عندما ننشيء ملف او مجلد جديد على اي قرص او نتعامل

بشكل عام مع الاقراص (كتابة او قراءة) لابد من وضع الاوامر الخاصة بذلك

داخل بلوك استثنــاء ...

لماذا ؟؟؟

لان هذه الاوامر قد تنتج العديد من الاخطاء اثناء وقت تنفيذ (Run Time ERROR) و لا يستطيع

المترجم التعرف عليها اثناء عمل ترجمة للبرنامج ...

من هذه الاخطاء التعامل مع قرص (كتابة - قراءة) غير موجود اصلاً (يعني تقول g:\ md dir و القرص g غير موجود)

او تكتب في قرص مليء ...

بشكل عام في حالة توقع حدوث خظأ لايمكن تعقبة اثناء كتابة و ترجمة البرنامج ، و من المحتمل ان يحدث في وقت التنفيذ و

هو مايسمى بالـ Run Time ERROR نستخدم الاستثناءات للتعامل معه اثناء وقت التنفيذ

تم تعديل هذه المشاركة بواسطة بنت اليمن في 14 سبتمبر 2008 في 11:33

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#9

طيب في عمليات عادية ممكن تنتج run time error

ابسط مثال القسمة على صفر ,,

i=x/y

where y = 0

المترجم ما يجبر على وضعها بين ايكسيبشن ويطلع الايرر بالران تايم

,,,

:blink:

شكرا لكم

m16.jpg

سأحمل روحي على راحتي والقي بها في مهاوي الردا

فأما حياة تسر الصديق و اما ممات يغيض العدا

#10

المسألة اخي الكريم ان يوجد لدينا نوعين من الاستثناءات :

النوع الاول هو الاستثناء المتوقع Expected Exception و فيه يستطيع المترجم اثناء الترجمة أن يتوقع ان خطأ ما سوف يحدث .. فينبهك لذلك ...

و المثال الذي وضعته (القسمة على صفر ) مثال على ذلك ..

في هذا النوع لا داعي لإستخدام try and catch لان المترجم لن يفوت عليك اصلاح هذا الخطأ ..

اما النوع الثاني فهو الاستثناء الغير متوقع Unexpected Exception و فيه لا يستطيع المترجم ان يتنبأ

بحدوث خطأ اثناء وقت التنفيذ ... و التعامل مع الملفات خير دليل على ذلك .. فيجبرك على استخدام try and catch

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#11

:thumb_up: اييييييي هسة اقتنعت وفهمت ,,, جزاج الله كل خيييييييييييييير يابنت اليمن ..

شكراً لكل من شارك بمعلومة ,,,

تحياتي

m16.jpg

سأحمل روحي على راحتي والقي بها في مهاوي الردا

فأما حياة تسر الصديق و اما ممات يغيض العدا

#12

العفو اخي الكريم :)

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#13

بنت اليمن هناك مشكلة لديك

كتبت هذه المقالة لك

عن الاستثناءات

تحياتي

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

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

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

728x90.png

#14

مشكور اخي علاء ... الله لا يجيب مشاكل ... و جاري قراءة المقال ...

تم تعديل هذه المشاركة بواسطة بنت اليمن في 17 سبتمبر 2008 في 20:42

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#15

حتى نلغي اي مشاكل بيننا على رأي اخونا الخبير علاء ... هذا مخطط لتقسيم انواع الاستثناءات في الجافا

post-20471-1221674079_thumb.jpg

لاحظوا ان انواع الاستثناءات التي بالون الوردي هي التي سيطلب منك المترجم ان تضعها

داخل بلوك try ... catch او ان تعلن انها ترمي استثناء ...

و هذا النوع هو الذي قصدته بالقول الاستثناء المتوقع ... و تسمى checked exception لان

المترجم يعمل فحص check حتى يتأكد من انك تتعامل مع اي استثناء في وقت التنفيذ من خلال كودك

اما انواع الاستثناءات التي بالون الاخضر هي التي لن يسألك المترجم ان تضعها حول try ... catch و هي

التي قصدتها بالقول unexpected exception في ردودي السابقة ... و تسمى بشكل افضل بالـ unchecked exception

بمعنى ان الـمترجم لن يقوم بفحص check وجود البلوك try ... catch

في مقال الاخ علاء :

اقتباس
في جافا يوجد نوع خاص من الاستثناءات يحصل في وقت التنفيذ

ويسمى هذا النوع RunTimeException

أي استثناء يقوم بوراثة هذه الفئة وليس Exception

فهو لا يحتاج إلى try catch

وإنما سيظهر في وقت التشغيل

ترى اين كانت المشكلة ؟؟؟ :)

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#16

أنتي قلت expected ,unexpected

هذا يعني معنى مخالف تماماً

راجعي كلامك ستجدي أنك تكلمتي عن القسمة على الصفر على أساس أنها expected

وهذا خطأ تماماً

مستاء جداً من الرد الأخير

ولا أريد أن أناقش أكثر

على العموم أنا قدمت ما عندي

وأديت حق الله في علمي

من أراد أن يأخذ بكلامي أخذ

ومن لم يرد فهذا حقه

تحياتي

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

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

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

728x90.png

#17

حياك الله اخي الكريم

اقتباس
أنتي قلت expected ,unexpected

هذا يعني معنى مخالف تماماً

اذا كانت لديك مشكلة مع ما ذكرت من تعبيرات كان قصدي بها ان اقرب الفكرة لأخونا السائل ... فصوبني .. لا تقل لديكي مشكلة ... ثم تذهب !!!

اقتباس
راجعي كلامك ستجدي أنك تكلمتي عن القسمة على الصفر على أساس أنها expected

نعم ... القصد هو ان المترجم لا يتطلب منك ان تضع هذا النوع من الاوامر داخل try ... catch .. هو سوف ينبهك الى انه يتوقع خطأ اثناء تنفيذ البرنامج

وحتى تكون المعلومة وافية ... نسمي هذا الوضع unchecked exception ..

اقتباس
مستاء جداً من الرد الأخير

:) و لمــاذا لا اكون انا ايضاً مستاءه ؟؟؟؟ الم تبدأ برمي اصبعك عليّ :) السنا هنا اخوة .. ؟ كنت اتمنى ان تحدد ما الخطأ .. ثم نتانقش انا مستعدة للتعلم و المناقشة ... :)

اقتباس
ولا أريد أن أناقش أكثر

اما هذا فهو شأنك ... لكن الا ترى يا اخي اننا نستحق معاملة و ردود افضل هنا ... :)

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#18

ياجماعه عينوا خير ..

شفيكم كانكم بحرب .. checked or unchecked مايهم،، اهم شي ماتزعلون :lol:

الموضوع شرحته ب موضوع Exceptions ..خففوا من حدة ردودكم يااخوان

#19

ألم تبدأ برمي أصبعك علي

اهاااااااااا

آسف على أن أعدل على كلامك

كلامك صحيح مئة في المئة

تحياتي

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

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

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

728x90.png

#20

ما عدت ادري ما المشكلة معك اخي علاء ... بجد و بدون سخرية ...

اقتباس
آسف على أن أعدل على كلامك

كلامك صحيح مئة في المئة

في البداية تقول لديكي مشكلة ... بدون حتى توضيح او تعديل ... بعدها (كلامك صحيح مئة في المئة) ... (و هذا ما يستفز) ؟؟؟

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

السؤال ... لكنه لم يرد ان يحدد المشكلة و قال انه ايضاً مستاء ؟؟؟ ... السنا هنا لتبادل اطراف الحديث العلمي .. بدون تجريح ؟؟؟

سلامي للجميع ...

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#21

راجعي هذا الرد

/index.ph...st&p=867369

وانظري مدى صحة كلامك

تحياتي

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

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

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

728x90.png

#22

لماذا لا تشير الى المشكلة بالتحديد ... و تريح نفسك و تريحني :)

هذا ما اردت ان اشرح به الـ checked exception

اقتباس
النوع الاول هو الاستثناء المتوقع Expected Exception و فيه يستطيع المترجم اثناء الترجمة أن يتوقع ان خطأ ما سوف يحدث .. فينبهك لذلك ...

و المثال الذي وضعته (القسمة على صفر ) مثال على ذلك ..

في هذا النوع لا داعي لإستخدام try and catch لان المترجم لن يفوت عليك اصلاح هذا الخطأ ..

و هذا ما اردت ان اشرح به الـ unchecked exception

اقتباس
اما النوع الثاني فهو الاستثناء الغير متوقع Unexpected Exception و فيه لا يستطيع المترجم ان يتنبأ

بحدوث خطأ اثناء وقت التنفيذ ... و التعامل مع الملفات خير دليل على ذلك .. فيجبرك على استخدام try and catch

و اذا لم يعجبك تعبير متوقع .. و غير متوقع ... فلا بأس .. لكن لا تجعلنا نخطأ كل شيء ...

فالمهم ان تتضح الفكرة و الفرق .. و هذا كان فقط هدفي..

عموماً ... و لاني لا اريد ان نضيع فقط فائدة الموضوع .. هذا رابط من مقالة الاخ عيسى :

/index.ph...st&p=628430

ارجع فيه الى السطر التالي :

اقتباس
الجافا تفهم ان مبرمجينها دائماً ، ناس يقدرون الاخطاء ، لذلك هي تجبرك على كتابة handling عندما تستدعي أي Method تعمل thowing لـ checked Exception

ماهو checked Exception ،

هناك نوعين من Exception ، checked & unchecked

و ايضاً تستطيع العودة الى ردي هنا ... و إن لم يعجبك ايضاً ... فلا املك شيء بعد ذلك :

/index.ph...st&p=868253

اعرف اني اثقلت عليكم ... لكني اردت التوضيح فقط ..

و السلام ...

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#23

,, من الاشياء اللي لاحظتها بعد في المشروع اللي داشتغل عليه,,

مثلا في عملية البحث عن ريموت اوبجكت بالاجهزة بالشبكة ايضا ماقبل يشتغل الا حطيتة داخل اكسيبشن ,, لان هالامر رح يطلع عن اطار برنامجي وقد ينتهي او يصيرلة اي خطأ

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

تحياتي

m16.jpg

سأحمل روحي على راحتي والقي بها في مهاوي الردا

فأما حياة تسر الصديق و اما ممات يغيض العدا

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