ResourceBundle während Laufzeit bearbeiten

hupfdule

Top Contributor
Hallo,

im Prinzip habe ich zwei Fragen, die sich aus dem selben Problem ergeben.

Lokalisierte Messages hole ich folgendermaßen aus einem ResourceBundle:

Java:
String basename= "/path/to/bundle/my_bundle";
ResourceBundle bundleForCurrentLocale= ResourceBundle.getBundle(basename, Locale.getDefault());

Ich möchte dieses Ressourcebundle zur Laufzeit bearbeiten (also neue Schlüssel eintragen, etc.)
Dazu folgende 2 Fragen:

1. Ich kann mir den Pfad zur Properties-Datei selbst zusammen bauen:
Java:
File bundleFile= new File(basename+"_"+localeOfMessage.getLanguage()+".properties");
Das ist natürlich sind sonderlich schick und fehlerträchtig. Gibt es da eine vernünftigere Lösung? Schön wäre, wenn ich das ResourceBundle nach dem Speicherort fragen könnte. Habe aber nichts dergleichen gefunden.

2. Kann ich zur die VM zur Laufzeit anweisen, das ResourceBundle erneut zu laden (da es ja verändert wurde)?
 

Bernd Hohmann

Top Contributor
Ich hab mal in den Source geschaut - das ist noch Schrott von Taligent (denen wir auch zb. die schönen Kalenderroutinen zu verdanken haben) und entsprechend konfus.

Ein Hintertürchen, das Bundle neu zu lesen hab ich jetzt ad hoc nicht gefunden, Für Internationalisierung würde ich selber auch was anderes nehmen (zb. Preprozessoren die Strings auslagern und durch eine Funktion ersetzen welche dann den entsprechenden Text in der Landessprache zurückliefert).

Ich weiss, hilft nicht wirklich weiter :reflect:

Bernd
 

hupfdule

Top Contributor
Ein Hintertürchen, das Bundle neu zu lesen hab ich jetzt ad hoc nicht gefunden, Für Internationalisierung würde ich selber auch was anderes nehmen (zb. Preprozessoren die Strings auslagern und durch eine Funktion ersetzen welche dann den entsprechenden Text in der Landessprache zurückliefert).

Das klingt mir aber auch nicht wie eine Lösung. Den Weg mit den ResourceBundles finde ich per se schon recht vernünftig.
Ein Reload des ResourceBundles kann man aber offenbar hiermit erzwingen:
ResourceBundle#clearCache() (Java Platform SE 6)
 

andreT

Aktives Mitglied
Ich habe da auch mal länger nach gesucht und auch nix gefunden. Ich bin dann (auch) den Weg gegangen. Einziger Unterschied ist daß ich das ResourceBundle über die Filereferenz auch lade. Somit ist wenigstens sichergestellt das der lesende und schreibende Zugriff auf die gleiche Resource erfolgt

Java:
		String basename= "/path/to/bundle/my_bundle";
		File bundleFile = new File(basename+"_"+localeOfMessage.getLanguage()+".properties");		
		PropertyResourceBundle bundle = new PropertyResourceBundle(new FileInputStream(bundleFile));
		String resourceBundleString = bundle.getString(key);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J ResourceBundle / properties-datei während der Laufzeit verän Allgemeine Java-Themen 6
Ernesto95 Best Practice Localization über ResourceBundle Allgemeine Java-Themen 6
S URLClassLoader findet ResourceBundle nicht Allgemeine Java-Themen 0
L OOP Wohin mit dem ResourceBundle für Mehrsprachigkeit? Allgemeine Java-Themen 1
E ResourceBundle.getBundle() Problem Allgemeine Java-Themen 6
A Classpath ResourceBundle Problem bzgl. Pfade bzw. Pfade (auch in Eclipse) generell? Allgemeine Java-Themen 7
firefexx ResourceBundle laden Allgemeine Java-Themen 2
U Mehrsprachigkeit mit ResourceBundle Allgemeine Java-Themen 9
R ResourceBundle in Servlets verwenden Allgemeine Java-Themen 13
S ResourceBundle: Locale Datei in Jar finden Allgemeine Java-Themen 3
C Reload ResourceBundle Allgemeine Java-Themen 6
S Resourcebundle - mehrzeiligen Text erlauben Allgemeine Java-Themen 3
R ResourceBundle-Verständnisproblem Allgemeine Java-Themen 3
P Mehrsprachig programmieren ResourceBundle Allgemeine Java-Themen 6
A ResourceBundle ohne LOCALE funkt nicht. Allgemeine Java-Themen 4
G Tomcat ResourceBundle Allgemeine Java-Themen 7
L Alle Keys eines ResourceBundle Allgemeine Java-Themen 3
T ResourceBundle aus .jar auslesen > MissingResourceExcepti Allgemeine Java-Themen 4
S ResourceBundle findet Resource nicht Allgemeine Java-Themen 4
S Build-Zeitpunt (Datum und Uhrzeit) irgendwie während der Laufzeit zugänglich machen..? Allgemeine Java-Themen 4
B Liste ändern während Iteration über Diese? Allgemeine Java-Themen 16
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
N Generic Type einer Generischen Klasse während der Laufzeit bekommen Allgemeine Java-Themen 2
kodela Daten während Laufzeit zugriffsbereit Allgemeine Java-Themen 15
Neumi5694 Interpreter-Fehler final Eigenschaft während Laufzeit geändert Allgemeine Java-Themen 2
Neumi5694 Compiler-Fehler Konstanten entfernen während des Kompiliervorgangs Allgemeine Java-Themen 7
A Java Klasse auf Tomcat während der Laufzeit austauschen Allgemeine Java-Themen 1
D Erhöhung der Programmgeschwindigkeit während der Programmlaufzeit Allgemeine Java-Themen 20
T Während des Programmlaufs andere Programme ausführen Allgemeine Java-Themen 1
I NullPointer während while(){} Allgemeine Java-Themen 4
A ar während der Laufzeit überschreiben Allgemeine Java-Themen 20
M File einlesen während es beschrieben wird.. Allgemeine Java-Themen 6
X Update einer Jar während der Laufzeit Allgemeine Java-Themen 8
X Button während Thread aktiv ist disablen Allgemeine Java-Themen 11
D MouseClickEvent während MouseDraggedEvent Allgemeine Java-Themen 7
ruutaiokwu META-INF-daten bei ungepackten library-projekten während der entwicklung mit einbeziehen...? Allgemeine Java-Themen 2
J Progress Bar während Datenbank Erstellung Allgemeine Java-Themen 2
Sonecc Zugriff auf Class File einer anderen Jar während der Laufzeit Allgemeine Java-Themen 2
X Über ArrayList iterieren, während sich diese verändert Allgemeine Java-Themen 3
H Labels erstellen während Programm läuft Allgemeine Java-Themen 3
T Java - Compilieren während Laufzeit Allgemeine Java-Themen 3
P Speicherauslastung während Programm dokumentieren Allgemeine Java-Themen 3
R Drag und Drop - Fehler während Laufzeit Allgemeine Java-Themen 14
G Hibernate speichert Daten nur während Session in HSQL-DB Allgemeine Java-Themen 10
H Thread während Rechenoperation wirkt nicht Allgemeine Java-Themen 2
I Startbild anzeigen während JVM geladen wird Allgemeine Java-Themen 5
M Suche , bereits während der eingabe ?? Allgemeine Java-Themen 4
M Formel in einem String während Laufzeit berechnen. Allgemeine Java-Themen 4
M Laufzeit des Prim Algorithmus Allgemeine Java-Themen 3
M Laufzeit LinkedList Allgemeine Java-Themen 9
M verbesserte Laufzeit bei LinkedList Allgemeine Java-Themen 7
K Verbesserung der Laufzeit beim Sortieren von Einwohnern nach ihrem Geburtsjahr Allgemeine Java-Themen 0
H was ist den dieses zur Kompilierzeit und zur Laufzeit in Java? Allgemeine Java-Themen 3
L Classpath Zur Laufzeit bestimmte Klassen in Classloader hinzufügen? Allgemeine Java-Themen 4
L Compiler-Fehler Google Guice Module zur Laufzeit zusammenstellen und binden Allgemeine Java-Themen 4
J Jasper Reports - Subreport zur Laufzeit ändern Allgemeine Java-Themen 6
O jar und EXE Dateien, Pfade zur Laufzeit Allgemeine Java-Themen 1
T Externe Java Klasen zur Laufzeit einbinden Allgemeine Java-Themen 10
X Collections Gibt es eine Klasse welche die Vorteile von List und HashMap vereint, aber konstante Laufzeit (O(1)) hat in Java? Allgemeine Java-Themen 4
J .java-Dateitext Compile zur Laufzeit ohne File Allgemeine Java-Themen 15
M Sinn von Kompilierung zur Laufzeit Allgemeine Java-Themen 3
T Java Class Intrumentation mit Annotations in Laufzeit Allgemeine Java-Themen 1
S Byte Array welches in Laufzeit aufgelöst wird // Objekt Array Allgemeine Java-Themen 3
T Dateien zur Laufzeit in Java-Programm packen? Allgemeine Java-Themen 3
S Laufzeit Primzahlgenerator Allgemeine Java-Themen 18
S Zur Laufzeit Klasse mit einer anzahl von X Objekten erstellen Allgemeine Java-Themen 5
F Classpath Programmteile zur Laufzeit nachladen Allgemeine Java-Themen 6
D Variablen zur Laufzeit global speichern (Registry Pattern?) Allgemeine Java-Themen 6
J Input/Output Jar-Datei zur Laufzeit erweitern Allgemeine Java-Themen 13
P Generic zur Laufzeit Allgemeine Java-Themen 4
X MergeSort Laufzeit Problem Allgemeine Java-Themen 4
J Resourcen waehrend der Laufzeit aendern? Allgemeine Java-Themen 9
P Wie bei log4j den Dateipfad der Logdatei zur Laufzeit ändern? Allgemeine Java-Themen 3
T Klassen Fabrik (Factory) zur Laufzeit erweitern Allgemeine Java-Themen 5
S UML zur Laufzeit ändern Allgemeine Java-Themen 10
E Wert von enum zur Laufzeit festlegen. Allgemeine Java-Themen 5
L Methode in Thread mit langer Laufzeit unterbrechen (ANT executeTarget) Allgemeine Java-Themen 4
O Problem bei Darstellung der Laufzeit eines Programms Allgemeine Java-Themen 3
hdi Ressourcen dynamisch zur Laufzeit laden Allgemeine Java-Themen 15
A Wie zur Laufzeit auf Objekte zugreifen Allgemeine Java-Themen 7
N variable Anzahl von Objektinstanzen zur Laufzeit erstellen Allgemeine Java-Themen 4
P Java Konsole zur Laufzeit einblenden Allgemeine Java-Themen 4
P Klassenwahl zur Laufzeit Allgemeine Java-Themen 5
R Objekt zur Laufzeit zerstören? Allgemeine Java-Themen 12
E formartierte Ausgabe zur Laufzeit Allgemeine Java-Themen 2
F Wie zur Laufzeit ganz neue Objekte erzeugen? Allgemeine Java-Themen 5
T Class-files zur Laufzeit zu Reflection-Zwecken laden Allgemeine Java-Themen 18
DamienX Debug Modus zur Laufzeit erkennen Allgemeine Java-Themen 3
Stillmatic Debuggen/ Laufzeit von Methoden Allgemeine Java-Themen 2
Dragonfire Generic Typ zur Laufzeit Allgemeine Java-Themen 9
M Klasse zur Laufzeit ersetzen Allgemeine Java-Themen 10
S Wie gross ist die Laufzeit für diese Schleife?? Allgemeine Java-Themen 8
G File zur Laufzeit erzeugen Allgemeine Java-Themen 4
G Jar File zur Laufzeit ändern. Allgemeine Java-Themen 4
Y JARs austauschen zur Laufzeit Allgemeine Java-Themen 11
G Datenbank zur laufzeit wechseln Allgemeine Java-Themen 11
C Innere Klassen zur Laufzeit Instanzieren Allgemeine Java-Themen 4
T Zur Laufzeit erben? Allgemeine Java-Themen 22
L HashMap / Objekte auf Festplatte zur Laufzeit auf HD swappen Allgemeine Java-Themen 7
L Zur Laufzeit eine Klasse laden, die auf jar-File zugreift Allgemeine Java-Themen 15

Ähnliche Java Themen

Neue Themen


Oben