บทความนี้ส่วนใหญ่ศึกษาสองวิธีในการอ่านและการเขียนรีจิสทรีในการตั้งค่า Java และ jregistry รายละเอียดมีดังนี้
เนื่องจากโปรแกรม Java คือ "เขียนครั้งเดียวรันทุกที่" และการใช้ Java เพื่ออ่านและเขียนรีจิสทรีลักษณะข้ามแพลตฟอร์มของโปรแกรมจึงไม่ดี การดำเนินงานของรีจิสทรีของ Java นั้นเป็นไปไม่ได้ในรุ่นก่อน JDK1.4 และสามารถนำไปใช้กับ JNI เท่านั้น อย่างไรก็ตามแพ็คเกจ PREFS ที่ให้ไว้หลังจาก JDK1.4 สามารถใช้งาน Windows Registry ได้ แต่รูทอยู่ภายใต้ซอฟต์แวร์/Javasoft/Prefs เท่านั้น อาจเป็นเพราะภาวะที่กลืนไม่เข้าคายไม่ออกนี้และจำเป็นต้องทำให้แน่ใจว่าแพลตฟอร์มที่เรียกว่าไม่เกี่ยวข้องและดูแลการพึ่งพาของทุกคนในหน้าต่าง ต่อไปนี้จะแนะนำการดำเนินการของรีจิสทรีจากสองด้าน
ก่อนอื่นรับวัตถุที่ตั้งค่าซึ่งระบุตำแหน่งที่คุณต้องการเขียนข้อมูลในรีจิสทรีนั่นคือโหนด จากนั้นใช้ใส่ (คีย์สตริง, ค่าสตริง) หรือ putint (), tdouble () ฯลฯ เพื่อกำหนดค่าให้กับรายการที่เกี่ยวข้อง นี่คือโปรแกรมสาธิต
นำเข้า java.util.prefs.*; การลงทะเบียนคลาสสาธารณะ {String [] keys = {"เวอร์ชัน", "เริ่มต้น", "ผู้สร้าง"}; String [] value = {"1.3", "ini.mp3", "[email protected]"}; // บันทึกค่าที่เกี่ยวข้องในตัวแปรและไปที่โมฆะสาธารณะ writevalue () {// เขียนค่ารีจิสทรีภายใต้ hkey_local_machine/ซอฟต์แวร์/javasoft/prefs การตั้งค่า pre = preferences.systemroot (). node ("/javaplayer"); สำหรับ (int i = 0; i <keys.length; i ++) {pre.put (ปุ่ม, ค่า); }} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {registery reg = new registery (); reg.writevalue (); - ดำเนินการรหัสข้างต้นและเขียนค่าที่เกี่ยวข้องภายใต้ HKEY_LOCAL_MACHINE/ซอฟต์แวร์/Javasoft/Prefs/Javaplayer ในรีจิสทรี
สุดท้ายให้ฉันอธิบายสองสามประเด็น:
JREGISTRY ใช้ JNI เพื่อห่อหุ้ม Windows Registry API ซึ่งอำนวยความสะดวกให้กับนักพัฒนา Java ในการเข้าถึง Windows Registry ก่อนอื่นมาแนะนำ jregistrykey.jar และ jregistrykey.dll ไฟล์ทั้งสองนี้มีความจำเป็นในการใช้ JREGISTRY เพื่อใช้งานรีจิสทรี: หนึ่งไฟล์คือแพ็คเกจ JAR ซึ่งเป็นไฟล์ที่มีคลาส Java อื่น ๆ คือไฟล์ไลบรารีลิงก์แบบไดนามิกซึ่งให้รหัสโลคัลที่จำเป็นในการเข้าถึงรีจิสทรี (เช่น C/C ++)
ต่อไปนี้คือการแนะนำรายละเอียดเกี่ยวกับกระบวนการใช้งาน:
ใช้รหัส
RegistryKey R = ใหม่ RegistryKey (rootkey.hkey_current_user, "ซอฟต์แวร์ // beq technologies"); R.Create ();
RegistryKey R = ใหม่ RegistryKey (rootkey.hkey_current_user, "ซอฟต์แวร์"); R.Createsubkey ("Beq Technologies"); ลอง {registrykey r = new RegistryKey (rootkey.hkey_current_user, "ซอฟต์แวร์ // beq technologies"); R.Delete (); } // ลอง catch (RegistiRexception re) {re.printstacktrace (); } // จับ RegistryKey R = ใหม่ RegistryKey (rootkey.hkey_current_user, "ซอฟต์แวร์"); ถ้า (r.hassubkeys ()) {iterator i = r.subkeys (); ในขณะที่ (i.hasnext ()) {RegistryKey x = (RegistryKey) i.next (); System.out.println (X.ToString ()); } // ในขณะที่} // ถ้า RegistryKey R = ใหม่ RegistryKey (rootkey.hkey_current_user, "ซอฟต์แวร์ // beq technologies"); ถ้า (r.hasvalue ("myValue")) {registryValue v = r.getValue ("myValue"); System.out.println (v.toString ()); //} // ถ้าหมายเหตุ: v.toString () เป็นเพียงค่าคีย์ที่สอดคล้องกับคีย์ myvalue ในการรับข้อมูลค่าที่สอดคล้องกับคีย์ myValue คุณต้องใช้ String str = v.getDate (). tosting ();
RegistryKey R = ใหม่ RegistryKey (rootkey.hkey_current_user, "ซอฟต์แวร์ // beq technologies"); RegistryValue V = ใหม่ registryValue ("myval", valueType.reg_sz, "data"); R.SetValue (V); RegistryKey R = ใหม่ RegistryKey (rootkey.hkey_current_user, "ซอฟต์แวร์"); if (r.hasvalues ()) {iterator i = r.values (); ในขณะที่ (i.hasnext ()) {registryValue v = (registryValue) i.next (); System.out.println (v.toString ()); } // ในขณะที่} // ถ้าต่อไปนี้เป็นโปรแกรมสาธิตสำหรับการอ้างอิงเท่านั้น
// สร้างคีย์ใหม่ "ทดสอบ" ภายใต้ HKLM RegistryKey R = ใหม่ RegistryKey (rootkey.hkey_local_machine, "Test"); if (! r.exists ()) {r.create (); } // if // สร้างรายการค่า registryValue v = new RegistryValue ("Abtring", Valuetype.reg_sz, "Test"); R.SetValue (V); V.SetName ("AdWord"); V.SetType (valueType.reg_dword); V.SetData (จำนวนเต็มใหม่ (0x1001001)); R.SetValue (V); // อ่านค่าตัววนซ้ำ I = r.values (); ในขณะที่ (i.hasNext ()) {v = (registryValue) i.next (); System.out.println (v.toString ()); } // ในขณะที่ // ลบคีย์รีจิสทรี R.Delete ();สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการพูดคุยสั้น ๆ เกี่ยวกับวิธีการอ่านและการเขียนรีจิสทรีในการตั้งค่า Java และ Jregistry ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!