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

كيف أحذف ملف عن طريق الكود

بدأه هدف الشمالي في 20 أغسطس 2010 · 45 رد · 1,722 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي سؤال وهو كيف أحذف ملف على السي مثلا عن طريق الكود ؟

#2
try{
File f = new File("C:\\filename");
f.delete();
}
catch(Exception ex){
}

تقبل مروري :)


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#3

تستاهل الترشيح

#4

اكيد يستاهل اخونا علاو الترشيح ... ايضاً ممكن إختصار ذلك في خطوة واحد كالتالي:

boolean del= (new File("filename")).delete();
    if (!del) {
        //عملية الحذف لم تتم
    }

تم تعديل هذه المشاركة بواسطة بنت اليمن في 21 أغسطس 2010 في 00:43

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

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

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

#5

أشكركم أخواني الأعزاء, بس ترشيح لأيش بالضبط؟ :)


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#6

لكن الكود الذى ذكروه الاخوه

لا يتعامل مع الـ C driver

جرب مثلا تنشاء ملف

اسمه

text.txt

مره فى الـ c driver , ومره فى الـ D driver

واستخدم

try {
            if (new File("c:/test.txt").delete() == true) {
                System.out.println("Deleted");
            }
        } catch (Exception e) {
        }
    }

نجد ان الملف لم يتم حذفه

واستخدم مره اخرى

هذا الكود

try {
            if (new File("d:/test.txt").delete() == true) {
                System.out.println("Deleted");
            }
        } catch (Exception e) {
        }

يجد ان الملف تم حذفه

+++++++++++++++

حذف الملفات

يتعامل مع باقى الـ drivers

لكن الذى تتعامل مع الـ C لا يمكنها حذف الملفات

لان الـ JRE تمنعك من ذلك

الا بعد اخذ الاذن منها

لكن كيف لا ادرى صراحه

ننتظر ان كان احد المشرفين يفيدنا فى المووضوع هذا

Software Developer
Mahmoudkelany.com


 

#7

مانوع نظام التشغيل الذي تعمل عليه؟ تقريباً في الفيستا والسيفن اللي يفرضوا قيود على هذه العمليات:)

تم تعديل هذه المشاركة بواسطة M.Allaw في 21 أغسطس 2010 في 01:32


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#8

حياك الله اخي محمود ... ملاحظة ممتازة ... طبعاً انا اعمل على ويندوز XP و عملية الحذف تتم عندي مباشرة من القرص C

و بدون اي إشكال ...

لكن اعتقد ان انظمة التشغيل الحديثة مثل الفيستا لها حماية في هذا الصدد .. فهي و الحمدلله تسألك التأكيد قبل عمل اي خطوة !!!!! :blink:

لم اجرب على هذه الانطمة لاني ما زلت مؤمنة بالـ XP :)

الاقتراح الذي عندي هنا هو ... في حالة عدم نجاح حذف الملف (و هو اصلاً موجود ) ان نقوم بالكتابة في الملف ... و هي فكرة طرحتها اخي محمود في احد مواضيك الحديثة ..

على حد علمي الامر delete هو الامر الوحيد للحذف في جافا !!! صحيح ؟؟

بالتوفيق ...

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

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

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

#9

بالنسبه للأخ محمود حاول تجرب هذا الكلاس FilePermission في الحزمة java.io وان شاء الله تنحل مشكلتك :)

( للأمانه لم أجربه من قبل ولكني قرأت الـDoc تبعه )

تمنياتي بالتوفيق :)


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#10
M.Allaw كتب:

مانوع نظام التشغيل الذي تعمل عليه؟ تقريباً في الفيستا والسيفن اللي يفرضوا قيود على هذه العمليات:)

بالفعل استخدم seven

لكن هل انت تريد ان تعمل برنامجك ليعمل على الXP

فقط

لهذا السبب ؟

اعتقد ان هناك طريقه تمكنك من اخذ الاذن من نظام التشغيل

Software Developer
Mahmoudkelany.com


 

#11
بنت اليمن كتب:

حياك الله اخي محمود ... ملاحظة ممتازة ... طبعاً انا اعمل على ويندوز XP و عملية الحذف تتم عندي مباشرة من القرص C

و بدون اي إشكال ...

لكن اعتقد ان انظمة التشغيل الحديثة مثل الفيستا لها حماية في هذا الصدد .. فهي و الحمدلله تسألك التأكيد قبل عمل اي خطوة !!!!! :blink:

لم اجرب على هذه الانطمة لاني ما زلت مؤمنة بالـ XP :)

الاقتراح الذي عندي هنا هو ... في حالة عدم نجاح حذف الملف (و هو اصلاً موجود ) ان نقوم بالكتابة في الملف ... و هي فكرة طرحتها اخي محمود في احد مواضيك الحديثة ..

على حد علمي الامر delete هو الامر الوحيد للحذف في جافا !!! صحيح ؟؟

بالتوفيق ...

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

اشكرك :)

هيا فعلا فى ويندوز XP هتلاقيها شغاله تمام

لكن فى Seven , Vista هكون هناك مشاكل من النظام

اممممم حضرتك متابعه الموضوع بتاع اخى العيافى :)

هو موضوع الكتابه اعتقد انه هيكون عاوز تفكير شويه

لكن الى الان اقول ان هناك طريقه لحذف الملفات من النظام

اه بالنسبه لحذف الملفات يمكنك الحذف بالامر delete

او استخدام الـ deleteOnExit()

M.Allaw كتب:

بالنسبه للأخ محمود حاول تجرب هذا الكلاس FilePermission في الحزمة java.io وان شاء الله تنحل مشكلتك :)

( للأمانه لم أجربه من قبل ولكني قرأت الـDoc تبعه )

تمنياتي بالتوفيق :)

حاولت من قبل

منذ ان شوفت الموووضوع

لكن لم استطع الوصول الى شىء

لقله خبرتى بالمووضوع

فانا فعلا شوفت الFilePermission لكن اجهل التعامل معها

لكن ان شاء الله هاحاول اشوفها واخبركم ان شاء الله

ان لم يكن هناك من يساعدنا فى ذلك

Software Developer
Mahmoudkelany.com


 

#12

يجب ان تعطي البرنامج صلاحيات ال Administrator 

(Run as Administrator )

#13

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

بالنسبة للحذف فإن delete او deleteOnExit سوف يعودان علينا بنفس الاشكال الا و هو كيفية الحذف من الاقراص المحمية !!

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

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

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

#14

جميل ... اذن نحاول البحث من طرف الخيط الكلاس FilePermission ..

وجدت في إحدى المواقع الامر:

permission java.io.FilePermission "C:\\temp\\test.exe ",
                                 "read, write, delete, execute"

;

ثم عدلت الكود الذي وضعته سابقاً الى:

FilePermission myFile= new FilePermission("test.txt","delete");
boolean del= (new File("test.txt")).delete();
    if (!del) {
        System.out.print("SORRY");
    }
    else
	System.out.print("DONE");

طبعاً الحذف ايضاً مشي معي عادي :) لكن لماذا لا يجربة اصحاب الفيستا و السفن ؟؟ :)

بالتوفيق

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

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

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

#15
محمد عرسان كتب:

يجب ان تعطي البرنامج صلاحيات ال Administrator

(Run as Administrator )

عندك حق اخى محمد

وهذا ما تم بالفعل

ولكن هل يمكن اعطاء هذه الصلحيات باستخدام الجافا ؟

بنت اليمن كتب:

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

بالنسبة للحذف فإن delete او deleteOnExit سوف يعودان علينا بنفس الاشكال الا و هو كيفية الحذف من الاقراص المحمية !!

لا ولا يهمك

ما فى شىء

نعم هما يعودان علينا بنفس الشىء

بالنسبه للاقراص المحميه

فى تحتاج الى تعديل يدوى فى الحمايه ومستوى الدخول اليها

بنت اليمن كتب:

جميل ... اذن نحاول البحث من طرف الخيط الكلاس FilePermission ..

وجدت في إحدى المواقع الامر:

permission java.io.FilePermission "C:\\temp\\test.exe ",
                                 "read, write, delete, execute"

;

ثم عدلت الكود الذي وضعته سابقاً الى:

FilePermission myFile= new FilePermission("test.txt","delete");
boolean del= (new File("test.txt")).delete();
    if (!del) {
        System.out.print("SORRY");
    }
    else
	System.out.print("DONE");

طبعاً الحذف ايضاً مشي معي عادي :) لكن لماذا لا يجربة اصحاب الفيستا و السفن ؟؟ :)

بالتوفيق

نفس اللى عملته بس انا بقا مش نظرت الى مواقع :lol: عملتها كدا ببركه دعاء الوالدين

ولكنها ايضا لم تنجح

:mad: :mad: :mad: :mad: :mad:

تم تجربتها اختى الكريمه على السفن ولكنها لا تعمل

Software Developer
Mahmoudkelany.com


 

#16

ازاى تعدل الصلحيات

من على الـ C driver

كليك يمين properties

واختار security tab

وعدل صلحيات الـ adminstrator

خليه يسمح له بالـ write option

وبعد كدا جرب البرنامج وشوف هيمسح المللف ولا لا

post-217802-006250600 1282351411_thumb.p

انا عن نفسى مسحه معايا والحمدلله

لكن لسه بردوا بسال مفيش طريقه اعدل الموضوع دا بدون اللجوء الى هذه الطريقه اليدويه

يعنى اعمل الطريقه بالكود

المرفقات
Untitled.png

Software Developer
Mahmoudkelany.com


 

#17

بحثت طويلا و لم اجد شيء جديد

كل ما يدور حول Run As Administrator

يمكنك صنع ملف مثلا Run.bat

وضع اسم الملف فيه مثلا

اقتباس

java -jar "D:\Projects\UnicodeTest\dist\MyProject.jar"

و بعدها تشغبله بالزر الايمين و Run As Administrator

و منهم من يقترح عمل Signing للملف قبل تشغيله

و لكن لم اجربها

#18

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

البرنامج من قبل مدير للنظام ... و لا اعتقد انه من الممكن ان نعطي صلاحيات لمستخدم النظام من خلا الكود :huh:

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

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

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

#19

أنا الحقيقة لم أشاهد رد الأخت بنت اليمن إلا هذا اليوم , وتستاهل الأخت النقطتين والأخ M.Allaw كذلك ,

والنظام لدي هو xp لذلك لم أشعر بالمشكلة التي مر بها أخونا محمود , والحقيقة لا أخفيكم أني مصدوم بسبب هذه المشكلة

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

#20

ولماذا سيقوم مكافح الفيروسات بحذفه

أنت طلبت إعطاء البرنامج صلاحيات admin على الجهاز

تحياتي

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

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

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

728x90.png

#21
هدف الشمالي كتب:

أنا الحقيقة لم أشاهد رد الأخت بنت اليمن إلا هذا اليوم , وتستاهل الأخت النقطتين والأخ M.Allaw كذلك ,

والنظام لدي هو xp لذلك لم أشعر بالمشكلة التي مر بها أخونا محمود , والحقيقة لا أخفيكم أني مصدوم بسبب هذه المشكلة

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

انا معك اخى الكريم

لكن انت تريد ان يعمل برنامجك على جميع الانظمه لتحقيق هدف الجافا الاساسى وهو الـ Portability

فهل ستستغنى عن هذه الميزه لمجرد انك لا تعرف كيف تمسح من على نظام الويندوز فى الفسيتا او السفن ؟؟

طبعااا لالا لازم نحل المشكله

بالنسبه للـbat لا طبعا هيمسكه ليه ؟؟

هو مش فيه كود يعمل فيرس ولا حاجه

دا كانك بتكتب اوامر فى الـ DOS وبتشغلها هل هيقول لك ان دا فيرس لا طبعا

Software Developer
Mahmoudkelany.com


 

#22

لى ملاحظه صغيره يا شباب...

ال Vista و WIN 7 ليست أنظمه تشغيل مختلفه عن XP و لكنها نسخ أحدث من نفس نظام التشغيل....

فرجاء من يتخدث عن أي من 7 أو VISTA أن يقول : "أي نسخه تستخدم من M$ WIN" , وليس "أي نظام تشغيل" ..

#23
هويدي كتب:

لى ملاحظه صغيره يا شباب...

ال Vista و WIN 7 ليست أنظمه تشغيل مختلفه عن XP و لكنها نسخ أحدث من نفس نظام التشغيل....

فرجاء من يتخدث عن أي من 7 أو VISTA أن يقول : "أي نسخه تستخدم من M$ WIN" , وليس "أي نظام تشغيل" ..

انا بالنسبه لى بيئه تشغيل مختلفه

من حيث كل شىء

هيا فعلا زى ما انت قولت كدا اصدار مختلف

لكن تعتبر نظام لوحده

وبعدين عديها يا هويدى انت بتقف على الواحده كدا ليه :mad: :mad: :P :P

Software Developer
Mahmoudkelany.com


 

#24
اقتباس
وبعدين عديها يا هويدى انت بتقف على الواحده كدا ليه

كمبيوتر هويدي ما يقدر يشغل Windows 7 عشان كدا هو مقهور :P

#25
اقتباس
كمبيوتر هويدي ما يقدر يشغل Windows 7 عشان كدا هو مقهور

لأ طبعا,, بس إنت عارف,, أنا اللي لا اقبل إنى أشغله عندي ..

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