Cet article étudie principalement les deux façons de lire et d'écrire un registre dans Java Préférences et Jregistry. Les détails sont les suivants.
Étant donné que le programme Java est "Écrivez une fois, exécutez partout" et en utilisant Java pour lire et écrire le registre, la nature multiplateforme du programme est médiocre. Le fonctionnement du registre par Java est impossible dans les versions avant JDK1.4, et ne peut être implémenté qu'avec JNI; Cependant, le package PREFS fourni après JDK1.4 peut faire fonctionner le registre Windows, mais Root n'est que sous Software / Javasoft / PreFS. C'est probablement à cause de ce dilemme, et il est nécessaire de s'assurer que la soi-disant plate-forme n'est pas pertinente et de prendre soin de la dépendance de chacun à l'égard des fenêtres. Ce qui suit présentera le fonctionnement du registre à partir de deux aspects.
Tout d'abord, obtenez un objet de préférences, qui spécifie où vous souhaitez rédiger des informations dans le registre, c'est-à-dire le nœud. Utilisez ensuite put (clé de chaîne, valeur de chaîne) ou Pount (), tdouble (), etc. pour attribuer des valeurs aux éléments pertinents. Voici le programme de démonstration.
import java.util.prefs. *; classe publique Registery {String [] keys = {"version", "Initial", "Creator"}; String [] valeurs = {"1.3", "ini.mp3", "[email protected]"}; // Enregistrez la valeur correspondante dans une variable et accédez à public void writeValue () {// Écrivez la valeur de registre sous HKEY_LOCAL_MACHINE / Software / Javasoft / Prefs. Préférences Pre = Preferences.SystemRoot (). Node ("/ javaplayer"); for (int i = 0; i <keys.length; i ++) {pre.put (clés, valeurs); }} public static void main (String [] args) {regrinsy reg = new registery (); reg.writeValue (); }} Exécutez le code ci-dessus et écrivez la valeur pertinente sous le HKEY_LOCAL_MACHINE / Software / Javasoft / Prefs / Javaplayer dans le registre.
Enfin, permettez-moi d'expliquer quelques points:
Jregistry utilise JNI pour encapsuler l'API du registre Windows, qui facilite les développeurs Java pour accéder au registre Windows. Tout d'abord, présentons Jregistrykey.jar et Jregistrykey.dll. Ces deux fichiers sont nécessaires pour utiliser Jregistry pour faire fonctionner le registre: l'un est le package JAR, qui est un fichier qui comprend la classe Java; L'autre est un fichier de bibliothèque de liens dynamiques, qui fournit le code local requis pour accéder au registre (c'est-à-dire C / C ++).
Ce qui suit est une introduction détaillée au processus d'utilisation:
Implémenter le code
RegistryKey R = new RegistryKey (rootkey.hkey_current_user, "Software // Beq Technologies"); R.Create ();
RegistryKey R = new RegistryKey (rootkey.hkey_current_user, "logiciel"); R.CreateSubkey ("Beq Technologies"); essayez {RegistryKey r = new RegistryKey (rootkey.hkey_current_user, "logiciel // beq Technologies"); R.Delete (); } // essayez Catch (RegistryException re) {re.printStackTrace (); } // attraper RegistryKey R = new RegistryKey (rootkey.hkey_current_user, "logiciel"); if (r.hassubkeys ()) {iterator i = r.subkeys (); while (i.hasnext ()) {registryKey x = (registryKey) i.next (); System.out.println (x.toString ()); } // tandis que} // si 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 ()); //} // siRemarque: V.ToString () n'est que la valeur clé correspondant à la clé MyValue. Pour obtenir les données de valeur correspondant à la touche myvalue, vous avez besoin de chaîne str = v.getDate (). Tosting ();
RegistryKey R = new RegistryKey (rootkey.hkey_current_user, "Software // Beq Technologies"); RegistryValue v = new RegistryValue ("MyVal", valléeype.reg_sz, "data"); R.SetValue (V); RegistryKey R = new RegistryKey (rootkey.hkey_current_user, "logiciel"); if (r.hasvalues ()) {iterator i = r.Values (); while (i.hasnext ()) {registryValue v = (registryValue) i.next (); System.out.println (v.toString ()); } // tandis que} // siCe qui suit est un programme de démonstration pour référence uniquement.
// Créer une nouvelle clé, "test", sous HKLM RegistryKey R = new RegistryKey (rootkey.hkey_local_machine, "test"); if (! r.exists ()) {r.create (); } // Si // Créer des entrées de valeur RegistryValue v = new RegistryValue ("Astring", valetype.reg_sz, "test"); R.SetValue (V); v.setName ("adword"); v.setType (valluetype.reg_dword); v.setData (nouvel entier (0x1001001)); R.SetValue (V); // Lire les entrées de valeur Iterator i = r.Values (); while (i.hasnext ()) {v = (registryValue) i.next (); System.out.println (v.toString ()); } // while // supprimer la clé de registre r.delete ();Résumer
Ce qui précède est l'intégralité du contenu de cet article sur la discussion brièvement des façons de lire et d'écrire le registre dans Java Préférences et Jregistry. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!