Artikel ini terutama mempelajari dua cara membaca dan menulis registri di Java Preferensi dan Jegistry. Dengan rincian sebagai berikut.
Karena program Java adalah "Tulis sekali, jalankan di mana-mana", dan menggunakan Java untuk membaca dan menulis registri, sifat lintas platform dari program ini buruk. Operasi Registri Java tidak mungkin dalam versi sebelum JDK1.4, dan hanya dapat diimplementasikan dengan JNI; Namun, paket Prefs yang disediakan setelah JDK1.4 dapat mengoperasikan Windows Registry, tetapi ROOT hanya di bawah Software/JavaSoft/Prefs. Mungkin karena dilema ini, dan perlu untuk memastikan bahwa apa yang disebut platform tidak relevan dan mengurus ketergantungan semua orang pada Windows. Berikut ini akan memperkenalkan operasi registri dari dua aspek.
Pertama, dapatkan objek preferensi, yang menentukan di mana Anda ingin menulis informasi dalam registri, yaitu node. Kemudian gunakan put (tombol string, nilai string) atau putint (), tdouble (), dll. Untuk menetapkan nilai ke item yang relevan. Inilah program demo.
impor java.util.prefs.*; kelas publik registery {string [] keys = {"versi", "initial", "creator"}; String [] values = {"1.3", "ini.mp3", "[email protected]"}; // Simpan nilai yang sesuai dalam variabel dan buka public void writevalue () {// tulis nilai registri di bawah hkey_local_machine/software/javasoft/prefs. Preferensi pre = preferensi.systemroot (). Node ("/javaplayer"); untuk (int i = 0; i <keys.length; i ++) {pre.put (tombol, nilai); }} public static void main (string [] args) {registery reg = new registing (); Reg.writevalue (); }} Jalankan kode di atas dan tulis nilai yang relevan di bawah hkey_local_machine/software/javasoft/prefs/javaplayer di registri.
Akhirnya, izinkan saya menjelaskan beberapa poin:
Jegistry menggunakan JNI untuk merangkum Windows Registry API, yang memfasilitasi pengembang Java untuk mengakses Registry Windows. Pertama, mari kita perkenalkan jregistrykey.jar dan jregistrykey.dll. Kedua file ini diperlukan untuk menggunakan jegistry untuk mengoperasikan registri: satu adalah paket jar, yang merupakan file yang mencakup kelas Java; Yang lainnya adalah file pustaka tautan dinamis, yang menyediakan kode lokal yang diperlukan untuk mengakses registri (mis., C/C ++).
Berikut ini adalah pengantar terperinci untuk proses penggunaan:
Mengimplementasikan kode
RegistryKey R = RegistryKey baru (rootkey.hkey_current_user, "Software // BEQ Technologies"); r.create ();
RegistryKey R = RegistryKey baru (rootkey.hkey_current_user, "perangkat lunak"); R.CreateSubkey ("BEQ Technologies"); coba {registrykey r = registrykey baru (rootkey.hkey_current_user, "software // beq technologies"); r.delete (); } // coba tangkap (registryException re) {re.printstacktrace (); } // menangkap RegistryKey R = RegistryKey baru (rootkey.hkey_current_user, "perangkat lunak"); if (r.hassubkeys ()) {iterator i = r.subkeys (); while (i.hasnext ()) {registrykey x = (registrykey) i.next (); System.out.println (x.tostring ()); } // while} // jika RegistryKey R = RegistryKey baru (rootkey.hkey_current_user, "Software // BEQ Technologies"); if (r.hasValue ("myValue")) {RegistryValue v = r.getValue ("myValue"); System.out.println (v.toString ()); //} // ifCatatan: v.tostring () hanya nilai kunci yang sesuai dengan myValue kunci. Untuk mendapatkan data nilai yang sesuai dengan tombol MyValue, Anda memerlukan string str = v.getDate (). TOSTING ();
RegistryKey R = RegistryKey baru (rootkey.hkey_current_user, "Software // BEQ Technologies"); RegistryValue V = NEW RegistryValue ("MyVal", ValueType.reg_sz, "Data"); r.setValue (v); RegistryKey R = RegistryKey baru (rootkey.hkey_current_user, "perangkat lunak"); if (r.hasValues ()) {iterator i = r.values (); while (i.hasnext ()) {RegistryValue v = (RegistryValue) i.next (); System.out.println (v.tostring ()); } // while} // jikaBerikut ini adalah program demo untuk referensi saja.
// Buat kunci baru, "tes", di bawah HKLM RegistryKey R = RegistryKey baru (rootkey.hkey_local_machine, "test"); if (! r.exists ()) {r.create (); } // if // Buat entri nilai RegistryValue v = new registryValue ("astring", valueType.reg_sz, "test"); r.setValue (v); v.setname ("adword"); v.setType (valueType.reg_dword); v.setData (bilangan bulat baru (0x1001001)); r.setValue (v); // Baca entri nilai iterator i = r.values (); while (i.hasnext ()) {v = (RegistryValue) i.next (); System.out.println (v.tostring ()); } // while // hapus kunci registri r.delete ();Meringkaskan
Di atas adalah seluruh konten artikel ini tentang membahas secara singkat cara membaca dan menulis registri di java preferensi dan jegistry. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!