이 기사는 주로 Java 선호도와 Jregistry에서 레지스트리를 읽고 쓰는 두 가지 방법을 연구합니다. 세부 사항은 다음과 같습니다.
Java 프로그램은 "한 번 쓰기, 모든 곳에서 실행"하고 Java를 사용하여 레지스트리를 읽고 쓰기 때문에 프로그램의 크로스 플랫폼 특성은 좋지 않습니다. Java의 레지스트리 작동은 JDK1.4 이전 버전에서 불가능하며 JNI로만 구현할 수 있습니다. 그러나 JDK1.4 이후에 제공된 Prefs 패키지는 Windows 레지스트리를 작동 할 수 있지만 루트는 소프트웨어/Javasoft/Prefs에만 해당됩니다. 아마도이 딜레마 때문일 수 있으며, 소위 플랫폼이 관련이 없으며 Windows에 대한 모든 사람의 의존을 처리해야합니다. 다음은 두 가지 측면에서 레지스트리 작동을 소개합니다.
먼저, 레지스트리, 즉 노드에서 정보를 작성하려는 위치를 지정하는 환경 설정 객체를 가져옵니다. 그런 다음 put (문자열 키, 문자열 값) 또는 putint (), tdouble () 등을 사용하여 관련 항목에 값을 할당하십시오. 데모 프로그램은 다음과 같습니다.
java.util.prefs.*; 공개 클래스 레지스터 {String [] keys = { "버전", "이니셜", "Creator"}; 문자열 [] values = { "1.3", "ini.mp3", "[email protected]"}; // 해당 값을 변수로 저장하고 공개 void writeValue () {// hkey_local_machine/software/javasoft/prefs에서 레지스트리 값을 작성하십시오. 기본 설정 pre = preference.systemRoot (). 노드 ( "/javaplayer"); for (int i = 0; i <keys.length; i ++) {pre.put (키, 값); }} public static void main (String [] args) {registery reg = new Registery (); Reg.writeValue (); }} 위의 코드를 실행하고 레지스트리에서 hkey_local_machine/javasoft/prefs/javaplayer에서 관련 값을 작성하십시오.
마지막으로 몇 가지 요점을 설명하겠습니다.
Jregistry는 JNI를 사용하여 Windows Registry API를 캡슐화하여 Java 개발자가 Windows 레지스트리에 액세스하도록 용이하게합니다. 먼저 jregistrykey.jar 및 jregistrykey.dll을 소개하겠습니다. 이 두 파일은 jregistry를 사용하여 레지스트리를 작동시키는 데 필요합니다. 하나는 JAR 패키지이며,이 파일은 Java 클래스를 포함하는 파일입니다. 다른 하나는 동적 링크 라이브러리 파일로 레지스트리 (예 : C/C ++)에 액세스하는 데 필요한 로컬 코드를 제공합니다.
다음은 사용 프로세스에 대한 자세한 소개입니다.
코드를 구현하십시오
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");
try {registrykey r = new RegistryKey (rootkey.hkey_current_user, "Software // Beq Technologies"); r.delete (); } // catch를 시도하십시오 (registryException re) {re.printstacktrace (); } // 잡다 RegistryKey R = New RegistryKey (rootkey.hkey_current_user, "Software"); if (r.hassubkeys ()) {iterator i = r.subkeys (); while (i.hasnext ()) {레지스트리 키 x = (레지스트리 키) 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 ()); //} // if참고 : v.toString ()은 키 MyValue에 해당하는 키 값 일뿐입니다. MyValue 키에 해당하는 값 데이터를 얻으려면 String str = v.getDate (). tosting ();
RegistryKey R = New RegistryKey (rootkey.hkey_current_user, "Software // Beq Technologies"); registryValue v = new RegistryValue ( "myval", valuetype.reg_sz, "data"); 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} // if다음은 참조용 데모 프로그램입니다.
// HKLM 레지스트리 키 r = new RegistryKey (rootkey.hkey_local_machine, "test")에서 새 키 "테스트"를 만듭니다. if (! r.create ()) {r.create (); } // if // 값 항목 생성 registryvalue v = new registryValue ( "astring", valuetype.reg_sz, "test"); R.setValue (V); v.setName ( "adword"); v.settype (valuetype.reg_dword); v.setdata (새 정수 (0x1001001)); R.setValue (V); // 값 항목 읽기 반복자 i = r.Values (); while (i.hasnext ()) {v = (registryValue) i.next (); System.out.println (v.toString ()); } // whike while // 레지스트리 key r.delete ();요약
위의 내용은 Java Preverences 및 Jregistry에서 레지스트리를 읽고 쓰는 방법을 간략하게 논의하는이 기사의 전체 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!