يدرس هذا المقال بشكل أساسي طريقتان للقراءة والكتابة في تفضيلات Java و Jrecistry. التفاصيل كما يلي.
نظرًا لأن برنامج Java هو "الكتابة مرة واحدة ، تشغيل في كل مكان" ، واستخدام Java لقراءة وكتابة السجل ، فإن الطبيعة المتقاطعة للبرنامج سيئة. من المستحيل تشغيل Java للسجل في الإصدارات قبل JDK1.4 ، ولا يمكن تنفيذها إلا مع JNI ؛ ومع ذلك ، فإن حزمة Prefs المقدمة بعد JDK1.4 يمكنها تشغيل سجل Windows ، ولكن الجذر هو فقط ضمن البرامج/Javasoft/prefs. ربما يكون ذلك بسبب هذه المعضلة ، ومن الضروري التأكد من أن ما يسمى بالنظام الأساسي غير ذي صلة ويعتني باعتماد الجميع على النوافذ. ما يلي سيقدم تشغيل السجل من جانبين.
أولاً ، احصل على كائن من التفضيلات ، والذي يحدد المكان الذي تريد كتابة المعلومات في السجل ، أي العقدة. ثم استخدم (مفتاح السلسلة ، قيمة السلسلة) أو putInt () ، tdouble () ، وما إلى ذلك لتعيين القيم للعناصر ذات الصلة. هنا هو البرنامج التجريبي.
استيراد java.util.prefs.*؛ الفئة العامة registery {string [] keys = {"الإصدار" ، "inial" ، "Creator"} ؛ String [] values = {"1.3" ، "ini.mp3" ، "[email protected]"} ؛ . التفضيلات قبل = التفضيلات. لـ (int i = 0 ؛ i <keys.length ؛ i ++) {pre.put (مفاتيح ، القيم) ؛ }} public static void main (string [] args) {registery reg = new registery () ؛ Reg.WriteValue () ؛ }} قم بتنفيذ الكود أعلاه واكتب القيمة ذات الصلة ضمن HKEY_LOCAL_MACHINE/SOPPARENT/JAVASOFT/PREFS/JAVAPLAYER في السجل.
أخيرًا ، اسمحوا لي أن أشرح بضع نقاط:
تستخدم JREGITY JNI لتغليف واجهة برمجة تطبيقات Windows Registry ، والتي تسهل مطوري Java للوصول إلى سجل Windows. أولاً ، دعنا نقدم jregistrykey.jar و jregistrykey.dll. هذان الملفان ضروريان لاستخدام JREGINTY لتشغيل السجل: أحدهما هو حزمة JAR ، وهي ملف يتضمن فئة Java ؛ والآخر هو ملف مكتبة ارتباط ديناميكي ، والذي يوفر الكود المحلي المطلوب للوصول إلى السجل (أي C/C ++).
فيما يلي مقدمة مفصلة لعملية الاستخدام:
تنفيذ الكود
registrykey r = new registryKey (rootkey.hkey_current_user ، "software // beq technologies") ؛ R.Create () ؛
registrykey r = new registryKey (rootkey.hkey_current_user ، "software") ؛ R.Createsubkey ("Beq Technologies") ؛ حاول {registryKey r = new registryKey (rootkey.hkey_current_user ، "software // beq technologies") ؛ R.Delete () ؛ } // حاول catch (registryException re) {re.printStackTrace () ؛ } // يمسك registrykey r = new registryKey (rootkey.hkey_current_user ، "software") ؛ if (r.hassubkeys ()) {iterator i = r.subkeys () ؛ بينما (i.hasnext ()) {registryKey x = (registryKey) i.next () ؛ System.out.println (X.ToString ()) ؛ } // بينما} // إذا registrykey r = new registryKey (rootkey.hkey_current_user ، "software // beq technologies") ؛ if (r.hasvalue ("myValue")) {registryValue v = r.getValue ("myValue") ؛ System.out.println (V.ToString ()) ؛ //} // ifملاحظة: V.ToString () هي فقط القيمة الرئيسية المقابلة للمفتاح myValue. للحصول على بيانات القيمة المقابلة لمفتاح myValue ، تحتاج إلى String str = v.getDate (). tosting () ؛
registrykey r = new registryKey (rootkey.hkey_current_user ، "software // beq technologies") ؛ registryValue v = New RegistryValue ("myval" ، valuetype.reg_sz ، "data") ؛ R.SetValue (V) ؛ registrykey r = new registryKey (rootkey.hkey_current_user ، "software") ؛ if (r.hasvalues ()) {iterator i = r.values () ؛ بينما (i.hasnext ()) {registryValue v = (registryValue) i.next () ؛ System.out.println (V.ToString ()) ؛ } // بينما} // إذافيما يلي برنامج تجريبي للرجوع إليه فقط.
// إنشاء مفتاح جديد ، "اختبار" ، ضمن HKLM RegistryKey r = new registryKey (rootkey.hkey_local_machine ، "test") ؛ if (! r.exists ()) {r.create () ؛ } // if // إنشاء إدخالات القيمة registryValue v = new registryValue ("astring" ، valuetype.reg_sz ، "test") ؛ R.SetValue (V) ؛ V.SetName ("Adword") ؛ V.SetType (valuetype.reg_dword) ؛ V.SetData (عدد صحيح جديد (0x1001001)) ؛ R.SetValue (V) ؛ // read value values Iterator i = r.values () ؛ بينما (i.hasnext ()) {v = (registryValue) i.next () ؛ System.out.println (V.ToString ()) ؛ } // بينما // حذف مفتاح التسجيل r.delete () ؛لخص
ما سبق هو المحتوى الكامل لهذه المقالة حول مناقشة طرق القراءة والكتابة بإيجاز في تفضيلات Java و Jregistry. آمل أن يكون ذلك مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!