Beispiel zum Preferences API unter Windows / Registry Lesen/Schreiben

Thomas Darimont

Erfahrenes Mitglied
Hallo!

Mittels das Preferences API's kann man Konfigurationen in der Windows Registry speichern lassen.
Bsp.:
Code:
 /*
  * Created on 06.02.2005@18:34:31
  *
  * TODO Licence info
  */
 package de.tutorials;
 
 import java.util.prefs.BackingStoreException;
 import java.util.prefs.Preferences;
 
 /**
  * @author Administrator
  *
  * TODO Explain me
  */
 public class PreferencesTest {
 
     public static void main(String[] args) {
         Preferences prefs = Preferences.systemRoot();
         
         prefs.put("tutorials","www.tutorials.de");
         try {
             prefs.flush();
         } catch (BackingStoreException e) {
             e.printStackTrace();
         }
         
     }
 }

Den geschriebenen Wert findet man unter:
Arbeitsplatz\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs

Leider ist es nicht möglich mit reinen Java-mitteln oberhalb des JavaSoft-Zweiges zu schreiben. Dafür muss dann eine JNI Lösung bemüht werden, wie etwa diese hier:
http://www.codeproject.com/useritems/JNI.asp

oder ganz einfach mittels abgefangener Ausgabe des Konsolen Programms reg:
http://www.rgagnon.com/javadetails/java-0480.html


Gruß Tom
 
Coole sache, danke für den Tipp, Thomas.


Kann man immer mal gebrauchen (spätestens wenn man einen Installer für Windows schreibt ;) )


Gruss

Torsten.
 
Richtig, toller Tipp.

Aber nicht nur dieser, sondern es sind, seit ich hier im Forum bin (Okt.04) schon über 50 von diesen Tipp's und davor gab es auch schon eine Menge.

Da macht es doch schon Sinn eine eigene Rubrik (z.B. Tom's Tipp's) aufzumachen.

Oder ?
 
Hallo!

Danke für das Lob aber ich denke eine Eigene Rubrik brauchen wir dafür (noch) ;-) nicht.
Jedoch könnte vielleicht auch mal jemand von euch nen kleinen Tipp beisteuern... ;-)
Wie wär's denn z.Bsp. wenn sich jemand mal in den Urwald der Jakarta Commons begibt, sich dort 1-2 nette Bibliotheken aussucht und diese in einem kleinen Beitrag beschreibt?

Gruß Tom
 
Jau das benutz ich auch schon :DIch nehm aber folgendes:

Code:
//Erzeugt noch Unterschlüssel fürs package
prefs = java.util.prefs.Preferences.userNodeForPackage(JMP3Sort.class);
 
//Auch ganz praktisch: Speichern und laden
  public void loadFromFile (String fileName) {
	//Einstellungen in Registry laden
	try {
	  java.util.prefs.Preferences.importPreferences(new BufferedInputStream(new
		  FileInputStream(fileName)));
	}
	catch (InvalidPreferencesFormatException ex) {
	}
	catch (IOException ex) {
	}
  }
 
  public boolean save(String fileName) {
	try {
	  prefs.exportNode(new BufferedOutputStream(new FileOutputStream(
		  fileName)));
	}
	catch (BackingStoreException ex) {
	  return false;
	}
	catch (IOException ex) {
	  return false;
	}
	return true;
  }
 
Zurück