Este artículo estudia principalmente las dos formas de lectura y escritura del registro en Java Preferencias y Jregistry. Los detalles son los siguientes.
Dado que el programa Java es "escribir una vez, ejecutar en todas partes" y usar Java para leer y escribir el registro, la naturaleza multiplataforma del programa es pobre. La operación del registro de Java es imposible en las versiones antes de JDK1.4, y solo se puede implementar con JNI; Sin embargo, el paquete prefs proporcionado después de JDK1.4 puede operar el registro de Windows, pero Root solo está en Software/Javasoft/Prefs. Probablemente se deba a este dilema, y es necesario asegurarse de que la llamada plataforma sea irrelevante y cuidarse de la dependencia de todos en las ventanas. Lo siguiente introducirá la operación del registro desde dos aspectos.
Primero, obtenga un objeto de preferencias, que especifica dónde desea escribir información en el registro, es decir, el nodo. Luego use PUT (clave de cadena, valor de cadena) o putInt (), tDouble (), etc. para asignar valores a los elementos relevantes. Aquí está el programa de demostración.
import java.util.prefs.*; public class Registery {String [] keys = {"versión", "inicial", "creador"}; String [] valores = {"1.3", "ini.mp3", "[email protected]"}; // Guarde el valor correspondiente en una variable y vaya a public void WriteValue () {// Escriba el valor de registro en HKEY_LOCAL_MACHINE/Software/Javasoft/Prefs. Preferencias pre = Preferencias.Systemroot (). Node ("/Javaplayer"); for (int i = 0; i <keys.length; i ++) {pre.put (teclas, valores); }} public static void main (string [] args) {registroy reg = new Registery (); Reg.WriteValue (); }} Ejecute el código anterior y escriba el valor relevante en HKEY_LOCAL_MACHINE/Software/Javasoft/Prefs/Javaplayer en el registro.
Finalmente, déjame explicar algunos puntos:
Jregistry usa JNI para encapsular la API del Registro de Windows, que facilita a los desarrolladores de Java para acceder al registro de Windows. Primero, presentemos a JRegistryKey.jar y JregistryKey.dll. Estos dos archivos son necesarios para usar Jregistry para operar el registro: uno es el paquete JAR, que es un archivo que incluye la clase Java; El otro es un archivo de biblioteca de enlaces dinámicos, que proporciona el código local requerido para acceder al registro (es decir, c/c ++).
La siguiente es una introducción detallada al proceso de uso:
Código de implementación
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"); Pruebe {RegistryKey r = New RegistryKey (rootkey.hkey_current_user, "Software // Beq Technologies"); r.delete (); } // try Catch (RegistryException re) {re.printStackTrace (); } // atrapar RegistryKey r = new RegistryKey (rootkey.hkey_current_user, "software"); if (r.hassubkeys ()) {iterator i = r.subkeys (); while (i.hasnext ()) {RegistryKey x = (RegistryKey) I.Next (); System.out.println (x.ToString ()); } // while} // if 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 ()); //} // ifNota: V.ToString () es solo el valor clave correspondiente a la clave myValue. Para obtener los datos de valor correspondientes a la tecla myValue, necesita cadena str = V.getDate (). TOSTING ();
RegistryKey r = new RegistryKey (rootkey.hkey_current_user, "Software // Beq Technologies"); RegistrySValue v = New RegistryValue ("myVal", valueType.reg_sz, "datos"); R.SetValue (V); RegistryKey r = new RegistryKey (rootkey.hkey_current_user, "software"); if (r.hasvalues ()) {iterator i = r.values (); while (i.hasnext ()) {RegistryValue v = (RegistryValue) I.Next (); System.out.println (v.ToString ()); } // while} // ifEl siguiente es un programa de demostración solo de referencia.
// Crear una nueva clave, "Test", en HKLM RegistryKey r = New RegistryKey (rootkey.hkey_local_machine, "test"); if (! r.exists ()) {r.create (); } // if // Crear entradas de valor RegistryValue v = new RegistryValue ("Astring", valueType.reg_sz, "Test"); R.SetValue (V); V.SetName ("Adword"); v.settype (valueType.reg_dword); V.SetData (nuevo entero (0x1001001)); R.SetValue (V); // Entradas de valor de lectura iterador i = R.Values (); while (i.hasnext ()) {v = (registryValue) I.Next (); System.out.println (v.ToString ()); } // while // eliminar la clave de registro r.delete ();Resumir
Lo anterior es todo el contenido de este artículo sobre cómo discutir brevemente las formas de leer y escribir el registro en Java Preferencias y Jregistry. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!