Java und Registry

fischkrampf

Mitglied
hi all,

Gibt es eigentlich ne Möglichkeit mit einer Java Applikation auf die Registry zuzugreifen??
So wie bei C++. Damit könnte man ja allerhand lustige Dinge anstellen, wie z.B. die Konfiguration eines Programmes. Ich hasse es nämlich die config in einer txt-Datei unterzubringen.


Vielen Dank für eure Hilfe!!

Gruß fischkrampf
 
Auf die Registry zugreifen zu können ginge am Sinn von Java vorbei - die Plattformunabhängigkeit geht verloren.


Wenn Du Dich trotzdem nicht davon abbringen lassen willst, dann ist der Zugriff über eine JNI-Bibliothek möglich.
Zu finden z.B. hier:
JNIRegistry
 
Falls man eine Windows-Applikation entwickelt (was man sicherlich auch mit Java darf, sonst kann man ja gleich MS C# verwenden, nur um Plattformspezifizierung zu rechtfertigen), kann ein Eingriff in die Windows-Registry u.U. hilfreich sein.

Du kannst die Windows Registrierung modifizieren, indemm du einen extern abgelegten key per exec()-Aufruf einbindest.

Der Aufruf könnte etwa so ausschaun:
"regedit -r informationen.key"

Der Inhalt der Datei informationen.key wäre zum Beispiel folgender:

Code:
REGEDIT4
[HKEY_CURRENT_USER\Software\Meinprogramm]
"Letzte Datei"="video.avi"

(oder ähnliches)
Eine solche Datei kannst du ja direkt aus Java heraus schreiben.



Quelle:
http://www.galileocomputing.de/openbook/javainsel/java-08.htm#t39
 
hmm also nen Registry-Editor gibbet nicht in java, wegen der schon genannten Plattformunabhängigkeit.


Wenn es allerdings im die Speicherung deiner eigenen Programm-Config geht, so hatte java da wohl sowas wie eine plattformunabhängige Version der Registry zusammengeschustert. Frag mich aber nicht wie sie das genannt haben... ich habe es irgendwo auf java.sun.com gelesen :(
 
Hallöchen,

das mit dem setzen ist ja ziemlich einfach, steht auch in nem Haufen Bücher, aber wie kann man denn auslesen? Ich bin zwar Anfänger, aber ich denke das kann man genauso gut brauchen, ich progr. gerade etwas und brauche zum Beispiel den Pfad der Temporary Internet files des current users. Den Registry Schlüssel kenne ich, kann es auch manuell auslesen, möchte es aber mit Java tun.
Kann mir jemand helfen?
 
Auf die Registry zugreifen zu können ginge am Sinn von Java vorbei - die Plattformunabhängigkeit geht verloren.


Wenn Du Dich trotzdem nicht davon abbringen lassen willst, dann ist der Zugriff über eine JNI-Bibliothek möglich.
Zu finden z.B. hier:
JNIRegistry
immer wenn ich versuche das zu benutzen bekomme ich:
Code:
ERROR You have not installed the DLL named 'ICE_JNIRegistry.DLL'.
        no ICE_JNIRegistry in java.library.path

was mach ich da falsch?
 
Das Programm liefert eine dll mit. Diese packst du innerhalb deines Programms in einen geeigneten Ordner wie z.B. dll.

Bei start deines Programms gibst du dann diesen Ordner mit an:
java -Djava.library.path=dll ...

Dies sagt aus dass dlls im Ordner dll zu finden sind und von dort geladen werden können.
 
Und ansonsten gibt es noch die Möglichkeit über Properties die Konfiguration in einer Textdatei zu speichern. z.B.

server.port=5465
server.ip=46.54.65.31
 
Zurück