Este artigo estuda principalmente as duas maneiras de ler e escrever registro em preferências de Java e Jregistry. Os detalhes são os seguintes.
Como o programa Java é "Escreva uma vez, corra em todos os lugares" e usando o Java para ler e escrever o registro, a natureza da plataforma cruzada do programa é ruim. A operação do registro por Java é impossível nas versões antes do JDK1.4 e só pode ser implementada com o JNI; No entanto, o pacote Prefs fornecido após o JDK1.4 pode operar o registro do Windows, mas o root está apenas em software/javasoft/prefs. É provavelmente por causa desse dilema e é necessário garantir que a chamada plataforma seja irrelevante e cuidar da dependência de todos das janelas. O seguinte apresentará a operação do registro de dois aspectos.
Primeiro, obtenha um objeto de preferências, que especifica onde você deseja escrever informações no registro, ou seja, o nó. Em seguida, use put (tecla String, String Value) ou putInt (), tdouble (), etc. para atribuir valores aos itens relevantes. Aqui está o programa de demonstração.
importar java.util.prefs.*; public class Registery {String [] Keys = {"versão", "Inicial", "Creator"}; String [] valores = {"1.3", "ini.mp3", "[email protected]"}; // Salve o valor correspondente em uma variável e vá para public void writeValue () {// Escreva o valor do registro em hkey_local_machine/software/javasoft/prefs. Preferências pre = preferências.systemroot (). Node ("/javaplayer"); for (int i = 0; i <keys.length; i ++) {pre.put (chaves, valores); }} public static void main (string [] args) {registery reg = new Registery (); reg.WriteValue (); }} Execute o código acima e escreva o valor relevante no HKEY_LOCAL_MACHINE/SOFTWARE/JAVASOFT/Prefs/JavaPlayer no registro.
Finalmente, deixe -me explicar alguns pontos:
O Jregistry usa o JNI para encapsular a API do Registro do Windows, que facilita os desenvolvedores da Java para acessar o registro do Windows. Primeiro, vamos apresentar JregistryKey.Jar e JregistryKey.dll. Esses dois arquivos são necessários para usar o Jregistry para operar o registro: um é o pacote JAR, que é um arquivo que inclui a classe Java; O outro é um arquivo de biblioteca de link dinâmico, que fornece o código local necessário para acessar o registro (ou seja, C/C ++).
A seguir, é apresentada uma introdução detalhada ao processo de uso:
Implementar código
RegistryKey R = New RegistryKey (Rootkey.hkey_current_user, "Software // Beq Technologies"); r.create ();
RegistryKey R = novo RegistryKey (rootkey.hkey_current_user, "software"); R.Createsubkey ("Beq Technologies"); tente {RegistryKey R = new RegistryKey (rootkey.hkey_current_user, "software // beq tecnologias"); R.Delete (); } // Tente Catch (RegistryException re) {re.printStackTrace (); } // pegar RegistryKey R = novo 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} // se 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 ()); //} // seNota: v.toString () é apenas o valor da chave correspondente à chave MyValue. Para obter os dados do valor correspondentes à tecla MyValue, você precisa de string str = v.getDate (). Tosting ();
RegistryKey R = New RegistryKey (Rootkey.hkey_current_user, "Software // Beq Technologies"); RegistryValue V = novo RegistryValue ("MyVal", Valuetype.reg_sz, "Data"); R.SetValue (V); RegistryKey R = novo 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} // seA seguir, é apresentado apenas um programa de demonstração para referência.
// Crie uma nova chave, "teste", sob o HKLM RegistryKey R = novo RegistryKey (rootkey.hkey_local_machine, "teste"); if (! R.Exists ()) {R.Create (); } // se // Crie entradas de valor RegistryValue V = novo RegistryValue ("Astring", Valuetype.reg_sz, "Test"); R.SetValue (V); v.SetName ("AdWord"); v.SetType (valuetype.reg_dword); v.SetData (novo número inteiro (0x1001001)); R.SetValue (V); // Leia entradas de valor iterador i = r.Values (); while (i.hasNext ()) {v = (RegistryValue) i.next (); System.out.println (v.ToString ()); } // while // exclua a chave do registro r.Delete ();Resumir
O exposto acima é o conteúdo inteiro deste artigo sobre discutir brevemente as formas de ler e escrever registro nas preferências de Java e no Jregistry. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!