# Beispiel zum Preferences API unter Windows / Registry Lesen/Schreiben



## Thomas Darimont (6. Februar 2005)

Hallo!

 Mittels das Preferences API's kann man Konfigurationen in der Windows Registry speichern lassen.
 Bsp.:

```
/*
  * 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


----------



## torsch2711 (7. Februar 2005)

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.


----------



## Bernd1984 (7. Februar 2005)

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 ?


----------



## Thomas Darimont (8. Februar 2005)

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


----------



## javaprogger1987 (8. Februar 2005)

Jau das benutz ich auch schon Ich nehm aber folgendes:


```
//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;
  }
```


----------

