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

اداه لتحرير ملفات Properties

رائج
بدأه العيافـي في 24 أبريل 2010 · 73 رد · 15,725 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#51

هذا معناه انه يكتبه في نفس مجلد المشروع , بس قلتلك اني لاحظت انه مايضيف اي ملف جنب الجار!!


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

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

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

#52
M.Allaw كتب:

هذا معناه انه يكتبه في نفس مجلد المشروع , بس قلتلك اني لاحظت انه مايضيف اي ملف جنب الجار!!

اخى M.Allaw

user.home فى ويندوز مثلا تعيد المسار التالى C:\Documents and Settings\elola\My Documents

اذا هذا يعنى انه يقوم بحفظ الملف فى هذا المسار

اما ماتريده وهو ان تحفظ الاعدادات الخاصة بالبرنامج داخل ملف موجود داخل ملف الجار الخاص ببرنامجك

فهذا يمكنك بالطريقة الموجودة فى المشاركة التالية للاخ herch

/index.php?showtopic=232371&st=40&p=1155613entry1155613

كما تمكنت من القراءة يمكنك الكتابة ايضا

بالتوفيق


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#53
M.Allaw كتب:

فهمت فكرتك وحملت الحزمه , بس أقصد انت الآن وين تنشئ ملف الـXML اللي تحفظ داخله الأعدادات?

وين أستعمل الأمر هذا؟ وكيف أعدل من ملف جار آخر؟

وإذا كان بإمكاني التعديل في ملف جار آخر إذن أستطيع أن أعدل في نفس الجار, أليس كذلك؟

طيب هل ممكن تسوي Extract لملف من الجار وتكتب داخله وترجع تضمنه لنفس الجار ؟

معلش حبيبي لو تعبتك معي بس من جد يهمني هذا الموضوع جداً وجزاك الله خير :)

اقوم بانشاء الملف في C:\Documents and Settings\myUser

باستخدام الامر التالي

هنا انشأة كائن من النوع File
public  static final String USER_HOME = System.getProperty("user.home");
	public  static final File DEFAULT_NAME = new File(USER_HOME, "EditProperties_v4.xml");

وقمت بانشائه هنا

XMLEncoder encoder = new java.beans.XMLEncoder(new BufferedOutputStream(new FileOutputStream(this.getFile())));

اما بالنسبة للتعديل لملف الجار فهذه هي الطريقة

Runtime.getRuntime().exec("jar uf your-file.jar folderName/fileName.txt");

مسألة (Extract لملف من الجار وتكتب داخله وترجع تضمنه لنفس الجار ؟)

فهي ممكنه ولكن ليس لنفس ملف الجار ، اي انه يجب ان يكون هذا من ملف جار خارجي . ( هذا ما اعرفة )

للمزيد http://download.oracle.com/javase/tutorial/deployment/jar/unpack.html

#54

عزيزى العيافى لماذا لا تفكر فى التعديل الى طريقة الاخ عصام herch الموضحة فى المشاركة السابقة لى

تقوم بانشاء ملف فى الجار وليكن باسم myfile.txt ويكون موجود داخل الجار بجوار الفئة المسئولة عن حفظ الاعدادات

وداخل الفئة تستخدم

MyClass.class.getResourceAsStream("myfile.txt");

وبهذا يمكنك الكتابة وحفظ الاعدادت داخل البرنامج نفسه بعيدا عن مخاوف الصلاحيات الامنية الموجودة فى نظام التشغيل ك win 7 مثلا

غير ان الاعدادات ستتمتع بخاصية المحمولية portability مع البرنامج وتنتقل معه الى اى مكان

هذا مجرد اقتراح فقط ولك حرية الاختيار وبامكانك تجاهله ان اردت

تقبل مرورى

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#55

عزيزي oracle

اقتراحك هذا رائع و اتمني ان استطيع تنفيذه .

ولعدم وجد وقت لدي ارجوا منك تنفيذ الفكره و اعطائنا النتائج مع كود . وشكرا اخي الغالي.

#56
اقتباس
خى M.Allaw

user.home فى ويندوز مثلا تعيد المسار التالى C:\Documents and Settings\elola\My Documents

اذا هذا يعنى انه يقوم بحفظ الملف فى هذا المسار

اما ماتريده وهو ان تحفظ الاعدادات الخاصة بالبرنامج داخل ملف موجود داخل ملف الجار الخاص ببرنامجك

فهذا يمكنك بالطريقة الموجودة فى المشاركة التالية للاخ herch

http://www.arabteam2...3

كما تمكنت من القراءة يمكنك الكتابة ايضا

بالتوفيق

يعطيك العافيه حبيبي :) وبالنسبه للمسار انا خلطت بينه وبين user.dir :)

Runtime.getRuntime().exec("jar uf your-file.jar folderName/fileName.txt");

بس هذا يقوم فقط بتنفيذ أمر دوز , بس وين تمرر له القيم التي تريد كتابتها في الملف؟


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

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

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

#57
M.Allaw كتب:

بس هذا يقوم فقط بتنفيذ أمر دوز , بس وين تمرر له القيم التي تريد كتابتها في الملف؟

سابقا كان لي محاولات في هذا الموضوع سأبحث عن الشفره و ارفقها في موضوع جديد

اذكر اني استطعت تحديث ملف جار بواسطة ملف جار آخر.

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

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

فقط اصبر على يوم الى 3 ايام

و ابشر باللي يسرك ان شاء الله تعالى

#58
اقتباس

سابقا كان لي محاولات في هذا الموضوع سأبحث عن الشفره و ارفقها في موضوع جديد

اذكر اني استطعت تحديث ملف جار بواسطة ملف جار آخر.

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

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

فقط اصبر على يوم الى 3 ايام

و ابشر باللي يسرك ان شاء الله تعالى

شكراً جزيلاً حبيبي وجزاك الله الف خير :)


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

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

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

#59
العيافـي كتب:

عزيزي oracle

اقتراحك هذا رائع و اتمني ان استطيع تنفيذه .

ولعدم وجد وقت لدي ارجوا منك تنفيذ الفكره و اعطائنا النتائج مع كود . وشكرا اخي الغالي.

على الرحب والسعة اخى العزيز العيافى

عند تتبع الدالة getResourceAsStream والموجودة فى الفئة java.lang.Class

فوجدتها تستخدم الكائن URLConnection وتستدعى منه الدالة getInputStream()

فحاولت استخدام URLConnection فى القراءة والكتابة ولكن نفع فى القراءة فقط

وعند محاولة الكتابة يخرج لى خطأ بعنوان this protocol does'nt support output

سارفق مثال بسيط فى المرفقات

package client;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.net.URL;
import java.net.URLConnection;

public class Settings {

	public Settings() {

	}

	public boolean saveSettings() {
		URLConnection uconn = null;
		try {
			// BufferedInputStream rd = new
			// BufferedInputStream(this.getClass().getResourceAsStream("m.txt"));
			URL url = Settings.class.getClassLoader().getResource(
					"settings.txt");

			// System.err.println(url);

			// fl = new File(url.toString());

			// fl.createNewFile();

			System.out.println("connected1");

			uconn = url.openConnection();
			System.out.println("connected2");
			uconn.setDoInput(true);
			uconn.setDoOutput(true);

			uconn.setUseCaches(false);
			uconn.setDefaultUseCaches(false);
			System.out.println("connected3");

			uconn.setRequestProperty("Content-Type", "application/octet-stream");
			System.out.println("connected4");

			String line;
			BufferedReader inn = new BufferedReader(new InputStreamReader(
					uconn.getInputStream()));
			while ((line = inn.readLine()) != null) {
				System.out.println("Line: " + line);
			}

			inn.close();

			/*
			 * ObjectInputStream in = new
			 * ObjectInputStream(uconn.getInputStream());
			 * 
			 * Object st = in.readObject(); 
			 * System.out.println(st);
			 */

			ObjectOutputStream os = new ObjectOutputStream(
					uconn.getOutputStream());
			System.out.println("connected5");

			os.writeObject("hdsuifhweu");

			os.flush();
			os.close();
			return true;
		} catch (Exception e) {
			System.err.println(e.getMessage());
			e.printStackTrace();
		}

		return false;
	}

}

rtf.rar

تحياتى

تم تعديل هذه المشاركة بواسطة Oracle_Java في 15 ديسمبر 2010 في 23:27


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#60
اقتباس

على الرحب والسعة اخى العزيز العيافى

عند تتبع الدالة getResourceAsStream والموجودة فى الفئة java.lang.Class

فوجدتها تستخدم الكائن URLConnection وتستدعى منه الدالة getInputStream()

فحاولت استخدام URLConnection فى القراءة والكتابة ولكن نفع فى القراءة فقط

وعند محاولة الكتابة يخرج لى خطأ بعنوان this protocol does'nt support output

سارفق مثال بسيط فى المرفقات

والله قد كنت باقولها لك قبلما أجربها بس قلت مابتفلسف قبلما أجرب laugh.gif

بس ان شاء الله بجربه وأكيد بنلاقي له حل أو حيله :)

تم تعديل هذه المشاركة بواسطة M.Allaw في 15 ديسمبر 2010 في 15:44


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

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

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

#61
M.Allaw كتب:

والله قد كنت باقولها لك قبلما أجربها بس قلت مابتفلسف قبلما أجرب laugh.gif

بس ان شاء الله بجربه وأكيد بنلاقي له حل أو حيله :)

ان شاء الله تلاقى حل

حاول ونحن بالانتظار

بالتوفيق حبيبى

سلام


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#62

عزيزي oracle

كنت اعلم بانه لا يمكنك الكتابه بهذه الطريقة و اذكر اني قراة هذه المعلومه ( لا اذكر اين )

وانا اقرا مشاركاتك حسيت انك عنيد ولن تقتنع الى اذا جربت انت بنفسك :) - ويبدوا انك لسى غير مقتنع .

خلنا نشوف الموضوع من جهه اخرى . ملف الجار بيكون شغال فلا يمكنك التعديل علية حتى لو استخدمت برامج ويندوز لن تتمكن من ذلك.

#63
اقتباس

عزيزي oracle

كنت اعلم بانه لا يمكنك الكتابه بهذه الطريقة و اذكر اني قراة هذه المعلومه ( لا اذكر اين )

وانا اقرا مشاركاتك حسيت انك عنيد ولن تقتنع الى اذا جربت انت بنفسك :) - ويبدوا انك لسى غير مقتنع .

خلنا نشوف الموضوع من جهه اخرى . ملف الجار بيكون شغال فلا يمكنك التعديل علية حتى لو استخدمت برامج ويندوز لن تتمكن من ذلك.

اخوى العيافى اشكرك على عطلة ليلة كاملة لتجربة هذا الموضوع

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

كان من الممكن ان تكتب هذه المعلومة فى ردك او ان تتغاضى عن هذا الاقتراح بالمرة

اقتباس

خلنا نشوف الموضوع من جهه اخرى . ملف الجار بيكون شغال فلا يمكنك التعديل علية حتى لو استخدمت برامج ويندوز لن تتمكن من ذلك.

بمناسبة العند عندك الاتصال URLConnection بالسيرفلت مثلا يعمل ويتم التعديل عليه فى حين ان السيرفلت مستخدم أليس كذلك ؟

شكرا اخ عيافى

تم تعديل هذه المشاركة بواسطة Oracle_Java في 16 ديسمبر 2010 في 12:54


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#64

عزيزي oracle

ذكرت ذلك في المشاركة رقم 47

على اي ( ارجوا ان لا تكون غضبان مني )

#65

عزيزى العيافى لا توجد اى مشكلة

نريد ان نستفيد من الاعضاء ذوى الخبرة مثلك

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#66

قمت باضافة نسخة محدثه برقم 4.2

التعديلات :

1 - تعديل على طريقة حذف الملفات.

2 - اضافة حقل لنسخ key

post-82434-089028900 1295418350_thumb.gi

المرفقات
O_13_key.gif
3
#67
العيافـي كتب:

قمت باضافة نسخة محدثه برقم 4.2

التعديلات :

1 - تعديل على طريقة حذف الملفات.

2 - اضافة حقل لنسخ key

post-82434-089028900 1295418350_thumb.gi

جميل اخى عثمان

معلش وراك فى كل اصدار

انا جربت البرنامج

لكن عندما ضغطت على manage

فتح لى الـ dialog فارغ

post-217802-088886600 1295430259_thumb.p

ما السبب ؟؟

المرفقات
properties.png

Software Developer
Mahmoudkelany.com


 

#68

هو بيكون فارغ .. وانت بتضيف اللي يناسبك

#69
العيافـي كتب:

هو بيكون فارغ .. وانت بتضيف اللي يناسبك

تمام

معذره

بحسب انها فيها اشياء مضافه من قبل

كما شاهدتها فالصوره

ما رايك من وضع بعض الـformats المستخدمه بكثره

وطبعا اتاحه ايضا امكانيه التعديل والحذف كما هى

Software Developer
Mahmoudkelany.com


 

#70
اقتباس

ما رايك من وضع بعض الـformats المستخدمه بكثره

وطبعا اتاحه ايضا امكانيه التعديل والحذف كما هى

بالنسبة للاضافة و الحذف .. هي موجوده حاليا ..

اما بالنسبة للاضافة فانا تعمدت تركها فارغة .

#71

ماشاء الله عليك أخي العيافي

بأمانة أداة رائعة

#72

شكرا اخي العيافي وبارك الله فيك

#73

جزاكم الله خيرا كثيرا

اداة رائعة بالفعل

#74

الله يجزاه خير كاتب الاداة جداً رائعه وتسهل كثيراً من الامور

انتم فخر لنا ..

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

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