عندما نكتب البرامج ، يتم تغيير بعض المعلمات غالبًا ، لكن هذا التغيير ليس ما نتوقعه. على سبيل المثال ، قمنا بتطوير وحدة نمطية تدير قاعدة البيانات. أثناء التطوير ، نتواصل مع قاعدة البيانات المحلية و IP واسم قاعدة البيانات واسم الجدول ومضيف قاعدة البيانات والمعلومات الأخرى محلية. لجعل الوحدة النمطية التي تدير البيانات العالمية ، لا يمكن كتابة المعلومات أعلاه في البرنامج. عادة ما يكون نهجنا هو استخدام ملفات التكوين لحلها.
تحتوي اللغات المختلفة على أنواع ملفات التكوين المدعومة الخاصة بها. على سبيل المثال ، Python ، فإنه يدعم ملفات .ini. نظرًا لأنه يحتوي على فئة ConfigParser في الداخل لدعم قراءة وكتابة ملفات .ini ، يمكن للمبرمجين تشغيل ملفات .ini بحرية وفقًا للطرق التي توفرها هذه الفئة. في Java ، تدعم Java قراءة وكتابة ملفات .properties. يوفر لنا Java.Util.Properties Class من JDK الراحة في ملفات التشغيل .Properties.
واحد. .properties file form
# فيما يلي معلومات الخادم وقاعدة البيانات dbport = localHost databasename = mydb dbusername = root dbpassword = root # فيما يلي معلومات جدول قاعدة البيانات dbtable = mytable # فيما يلي معلومات الخادم IP = 192.168.0.0.9
في الملف أعلاه ، نفترض أن اسم الملف هو: test.properties file. السلوك الأول من # تعليقات المعلومات ؛ على الجانب الأيسر من العلامة المتساوية "=" نسميها مفتاحها ؛ على الجانب الأيمن من العلامة المتساوية "=" نسميها قيمة. (في الواقع ، هذا ما نسميه غالبًا أزواج القيمة الرئيسية) يجب أن يكون مفتاحًا متغيرًا في برنامجنا. ويتم تكوين القيمة وفقًا للوضع الفعلي.
اثنين. فئة الخصائص في JDK
توجد فئة الخصائص في الخلية java.util ، التي ترث من علامة التجزئة ، وتوفر عدة طرق رئيسية:
1. GetProperty (مفتاح السلسلة) ، ابحث عن الخصائص في قائمة الخصائص هذه مع المفتاح المحدد. وهذا هو ، من خلال مفتاح المعلمة ، نحصل على القيمة المقابلة للمفتاح.
2. تحميل (InputStream Instream) ، يقرأ قائمة السمات (مفتاح وزوج العنصر) من دفق الإدخال. احصل على جميع أزواج القيمة الرئيسية في الملف عن طريق تحميل الملف المحدد (مثل ملف test.properties أعلاه). للحصول على GetProperty (مفتاح السلسلة) للبحث.
3. يقوم بتعيين زوج القيمة ذات القيمة الرئيسية عن طريق استدعاء طريقة PUT للفئة الأساسية.
4. Store (OutputStream Out ، String Comments) ، يكتب قائمة الخصائص (زوج المفتاح وعنصر) في جدول الخصائص هذا إلى دفق الإخراج بتنسيق مناسب للتحميل في جدول الخصائص باستخدام طريقة التحميل. على عكس طريقة التحميل ، تكتب هذه الطريقة أزواج قيمة المفاتيح إلى الملف المحدد.
5. Clear () ، مسح جميع أزواج القيمة الرئيسية المحملة. يتم توفير هذه الطريقة في الفئة الأساسية.
مع الطرق المذكورة أعلاه ، يمكننا العمل على ملف .properties!
3. مثال على خصائص قراءة جافا
يوجد مربع ملف الخصائص. properties ، مع المحتوى التالي:
اللون = redname = boxLength = 18Width = 7heigth = 8
للحصول على قيمة السمة ، يمكنك استخدام الكود التالي:
inputStream في = null ؛ الخواص p = خصائص جديدة () ؛ حاول {في = جديد bufferedInputStream (جديد fileInputStream ("box.properties"))) ؛ p.load (in) ؛} catch (fileNotfoundException e) {// todo catch catch e.printstacktrace () ؛} catch (ioException e) {// todo todo catch catch e.printstacktrace () ؛} تعداد <borber> Keys = P.Keys () ؛ بينما (keys.hasmoreElements ()) {string key = (string) keys.nextElement () ؛ System.out.println (Key + ":" + P.GetProperty (KEY)) ؛}أو:
inputStream in ؛ ResourceBundle rb = null ؛ حاول {في = جديد bufferedInputStream (جديد fileInputStream ("box.properties"))) ؛ rb = new propertyResourceBundle (in) ؛} catch (fileNotFoundException e1) {// todo catch catch e1.printstacktrace () ؛} catch (ioException e) {// todo kys = rb بينما (keys.hasmoreElements ()) {string key = (string) keys.nextElement () ؛ System.out.println (Key + ":" + rb.getString (key)) ؛ }}ومع ذلك ، فإن ترتيب الإخراج يختلف عن الملف الأصلي.