التعامل مع ملف الخصائص Java Properties file

اذهب الى الأسفل

التعامل مع ملف الخصائص Java Properties file Empty التعامل مع ملف الخصائص Java Properties file

مُساهمة من طرف أحمد مناع في الإثنين أبريل 04, 2016 1:29 am

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

أهلا بكم 

ملف الخصائص Properties file هو أحد الملفات المهمة التى يمكنك إنشائها لتخزين بيانات التطبيق الخاص بك حيث تقدم الفئة Properties class بعض الاساليب و الطرق التى من خلالها نستطيع كتابة ملف الخصائص والذى يتالف من معلمات .

حيث يتم تخزين كل معلمة كزوج من السلاسل النصية ، واحد لتخزين اسم المعلمة (وتسمى مفتاح key)، والآخرى لتخزين القيمة value فى هذا المقال سوف نتعرف سويا على كيفية إنشاء و قراءة هذا الملف 

1_سنقوم بإنشاء ملف نصى فى مسار التطبيق و ليكن بإسم config.properties 


2_ لكتابة ملف الخصائص يجب إتباع الخطوات التالية :



  • إستيراد الطبقات اللازمة للعمل :

الكود:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Properties;


  • إنشاء مثيل جديد من الكائن Properties و الاعلان عن الكائن OutputStream :

الكود:
Properties prop = new Properties();
OutputStream output = null;


  • تحديد مسار ملف الخصائص config.properties :

الكود:
output = new FileOutputStream("config.properties");


  • إستخدام الطريقة setProperty لتعين مفتااح الخاصية و قيمتها

الكود:
prop.setProperty("database", "localhost");
      prop.setProperty("dbuser", "mkyong");
      prop.setProperty("dbpassword", "password");


  • إستخدام الطريقة store لتخزين و اضافة البيانات فى ملف الخصائص

الكود:
prop.store(output, null);

المثال كاملا لكتابة ملف الخصائص على النحو التالى :

الكود:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Properties;

public class App {
  public static void main(String[] args) {
   
   Properties prop = new Properties();
   OutputStream output = null;

   try {

      output = new FileOutputStream("config.properties");

      prop.setProperty("database", "localhost");
      prop.setProperty("dbuser", "mkyong");
      prop.setProperty("dbpassword", "password");

      rop.store(output, null);

   } catch (IOException io) {
      io.printStackTrace();
   } finally {
      if (output != null) {
         try {
            output.close();
         } catch (IOException e) {
            e.printStackTrace();
         }
      }

   }
  }
}

أما لقراءة ملف الخصائص هو استخدام الطريقة void load(InputStream reader) لتحميل اولا بيانات الملف فى الكائن InputStream ثم استخدام الطريقة getProperty لقرائتها و ذلك على النحو التالى :

الكود:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class App {
  public static void main(String[] args) {

   Properties prop = new Properties();
   InputStream input = null;

   try {
      input = new FileInputStream("config.properties");

      prop.load(input);

      System.out.println(prop.getProperty("database"));
      System.out.println(prop.getProperty("dbuser"));
      System.out.println(prop.getProperty("dbpassword"));

   } catch (IOException ex) {
      ex.printStackTrace();
   } finally {
      if (input != null) {
         try {
            input.close();
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
   }

  }
}

تحياتى لكم

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 994
النقاط : 201783
التقيم : 119
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

التعامل مع ملف الخصائص Java Properties file Empty مجهود رائع استاذي العظيم

مُساهمة من طرف alkomait في الإثنين أبريل 04, 2016 10:02 pm

كالعادة شرح رائع ومفهوم ...
لدي سؤال ماذا يفيدنا هذا الملف ؟ اسف لقلة خبرتي ومعلوماتي لا زلت احاول التعلم منكم
alkomait
alkomait
..
..

تاريخ التسجيل : 27/02/2016
المساهمات : 19
النقاط : 28
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

التعامل مع ملف الخصائص Java Properties file Empty رد: التعامل مع ملف الخصائص Java Properties file

مُساهمة من طرف أحمد مناع في الثلاثاء أبريل 05, 2016 6:18 pm

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] كتب:كالعادة شرح رائع ومفهوم ...
لدي سؤال ماذا يفيدنا هذا الملف ؟ اسف لقلة خبرتي ومعلوماتي لا زلت احاول التعلم منكم

أهلا وسهلا بك اخى الكريم و يسرى تعليقا و مرورك و أعلم أن العلم خزائن و مفتاحه السؤال 

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

فى العادة نستخدم الشفرة التالية لاضافة ايقونة لزر امر مثلا :

الكود:
jButton1.setIcon(new javax.swing.ImageIcon("C:\\user-icon.png"));

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

الكود:
int result = jFileChooser1.showOpenDialog(null);
    if (result == jFileChooser1.APPROVE_OPTION) {
   File selectedFile = jFileChooser1.getSelectedFile();
   jButton1.setIcon(new javax.swing.ImageIcon(selectedFile.getAbsolutePath()));

و النتيجة سيتم تغير الايقونة بنجاح .... لكن ماذا لو قام المستخدم باغلاق التطبيق و إعادة فتحته مرة أخرى ؟.....ستجد أن الايقونة القديمة لزر الامر قد ظهرت مرة اخرى و الايقونة التى تم اختيارها كانها لم تكن ...

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

الكود:
int result = jFileChooser1.showOpenDialog(null);
    if (result == jFileChooser1.APPROVE_OPTION) {
        try {
            File selectedFile = jFileChooser1.getSelectedFile();
            
            output = new FileOutputStream("config.properties");
            prop.setProperty("icon",selectedFile.getAbsolutePath());
            prop.store(output, null);

}

و عند تطبيق الايقونة لزر الامر نستخدم الطريقة getProperty للحصول على الايقون بدل من استخدام المسار المطلق C:\\user-icon.png على النحو التالى :

الكود:
InputStream input = null;
            input = new FileInputStream("config.properties");
             prop.load(input);
            jButton1.setIcon(new javax.swing.ImageIcon(prop.getProperty("icon")));

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

وأخيرا اتمنى ان اكون استطعت ايضاح الفكرة

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 994
النقاط : 201783
التقيم : 119
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

التعامل مع ملف الخصائص Java Properties file Empty رد: التعامل مع ملف الخصائص Java Properties file

مُساهمة من طرف alkomait في الثلاثاء أبريل 05, 2016 7:41 pm

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] كتب:

أهلا وسهلا بك اخى الكريم و يسرى تعليقا و مرورك و أعلم أن العلم خزائن و مفتاحه السؤال 

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

تاريخ التسجيل : 27/02/2016
المساهمات : 19
النقاط : 28
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

التعامل مع ملف الخصائص Java Properties file Empty رد: التعامل مع ملف الخصائص Java Properties file

مُساهمة من طرف زهراء في الثلاثاء أبريل 05, 2016 7:50 pm

عظم الله اجرك اخى احمد على كل هذا المجهود
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 406
النقاط : 691
التقيم : 55
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

التعامل مع ملف الخصائص Java Properties file Empty رد: التعامل مع ملف الخصائص Java Properties file

مُساهمة من طرف NEXT في الثلاثاء نوفمبر 08, 2016 7:21 am

Question Question Question Question Question

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
التعامل مع ملف الخصائص Java Properties file Do.php?imgf=154090993464951
NEXT
NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 385
النقاط : 200563
التقيم : 14
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى