• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Pfad zu Properties-File bei ResourceBundle

C

Carcharoth

Bekanntes Mitglied
Hallo

Ich experimentiere gerade etwas mit Bundles zur Implementierung von Mehrsprachigkeit in Java.

Mein einfaches Problem:
Ich habe mein File "Language_fr_FR.properties" in einem Ordner rsc gespeichert. Wie sage ich jetzt der ResourceBundle.getBundle wo sie das properties-File her bekommt?



Java:
package testBundle;

import java.util.Locale;
import java.util.ResourceBundle;

public class MeinBundle {

    MeinBundle() {
        Locale localeFR = new Locale("fr","FR");
        Locale localeDE = new Locale("de","DE");
        
        Locale currentLocale = localeFR;
        
        ResourceBundle sprache = ResourceBundle.getBundle("Language", currentLocale);
        
        System.out.println(sprache.getString("name"));
    }
    
    public static void main(String[] args) {
        MeinBundle meinBundle = new MeinBundle();
    }

}
 
W

White_Fox

Top Contributor
Java:
File file;
String propertiesPath;
URL[] urls;
ClassLoader classloader;
ResourceBundle textResourceBundle;

propertiesPath = "C:\Pfad\zu\deinem\Propertieverzeichnis\Language";

file = new File(propertiesPath;
urls = new URL[]{file.toURI().toURL()};
classloader = new URLClassLoader(urls);
textResourceBundle = ResourceBundle.getBundle("Language", Locale.getDefault(), classloader);

So jedenfalls mal auf die Schnelle aus meinem Projekt kopiert. Das war eine fummelige Angelegenheit, wenn ich mich recht entsinne...
 
C

Carcharoth

Bekanntes Mitglied
Danke ! das hilft mir schon weiter.
Was wenn der Ordner mit dem Properties-File im Projekt gespeichert ist (hier unter dem Ordner rsc)? kann ich dann irgendwie auf das Rootverzeichnis des Projektes verweisen (und dann auf \rsc\?

1615449664069.png
 
W

White_Fox

Top Contributor
Das hier liefert das Verzeichnis zurück, in dem dein .jar liegt. Was danach kommt, z.B. andere Ordner, kannst du dir damit zusammenbauen.

Java:
private static String acquireHomepath() {
    //Acquire homeDirectory, result in something like ".../directory/to/jar/."
    String homeDirectory = new File(".").getAbsolutePath();
    //Remove the '.' at the end
    homeDirectory = homeDirectory.substring(0, homeDirectory.length() - 1);
    return homeDirectory;
}
 
W

White_Fox

Top Contributor
Was mir noch einfällt: Dein Quellcode liegt zwar im src-Ordner, wird dort aber bestimmt nicht ausgeführt. Das fertige .jar liegt woanders. Das heißt, wenn du es dir so zurechtfummelst daß es innerhalb der IDE funktioniert, dann bekommst du wahrscheinlich ein Problem wenn du es verteilen willst.

Ich hab das so gemacht (ich arbeite aber mit Netbeans), daß ich im Buildskript ein paar Zeilen ergänzt habe, sodaß Netbeans den Ordner mit den .properties-Dateien mit in das Verzeichnis der .jar kopiert, die dann ausgeführt wird. In Netbeans heißt das Verzeichnis "dist", glaube ich.
 
A

andy82

Mitglied
Nehmen wir an, dein File project.jar liegt im Ordner ../myProj/ und von dort startet.
UserDir ../myProj/:
String userDir = System.getProperty("user.dir"); //z.B: D:\myProj
File projDir = new File(userDir);
Subfolder: /myProj/local:
File local = new File(userDir + "/local");
 
Zuletzt bearbeitet:
mihe7

mihe7

Top Contributor
Hier muss ich mal kurz einhaken. Sprachdateien sind ja normalerweise Programmressourcen und damit Teil der Anwendung. Normalerweise legt man die Sprachdateien in einem resource-Paket ab, das sich je nach verwendetem Build-System an einer bestimmten Stelle befinden muss. Im Fall von Maven/Gradle befindet sich der Spaß in der Regel unter src/main/resources bzw. einem Paket darunter. Alternativ wird das Paket einfach unter src angelegt (funktioniert bei Maven nicht ohne weiteres).

Sagen wir mal, wir verwenden Maven und legen die Language-Dateien unter src/main/resources/lang (und damit im Paket lang) ab, dann erhält man das ResourceBundle mit ResourceBundle.getBundle("lang.Language", locale). Das hat den Vorteil, dass die Sprachdateien ins Jar gepackt werden.
 
C

Carcharoth

Bekanntes Mitglied
Danke euch.

Ich habe es jetzt so gemacht:
- den Ordner rsc als Source-Ordner definiert (in Eclipe unter Configure Build Path)
- dann
Java:
ResourceBundle sprache = ResourceBundle.getBundle("Language", currentLocale);

Dann noch ein Hinweis für allfällige zukünftige Leser.
Ich war mit dem Problem konfrontiert, dass Java mit einigen Zeichen wie "é" in Properties-Files Probleme und nicht korrekt darstellt hat.
Dazu habe ich den Properties-Editor Plugin in Eclipse installiert. Damit lassen sich die Properties-Files direkt in Eclipse schreiben. Bei Verwendung von speziellen Zeichen kümmert sich der Editor selbstständig darum.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Properties über statischen Pfad laden Java Basics - Anfänger-Themen 2
L Pfad per Properties schreiben lassen Java Basics - Anfänger-Themen 2
UnknownInnocent Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
P Möglichen Pfad überprüfen Java Basics - Anfänger-Themen 5
M Java GUI explorer aufrufen um Pfad zu bekommen Java Basics - Anfänger-Themen 3
R FXMLLoader Pfad falsch`? Java Basics - Anfänger-Themen 4
S Alternativer Pfad Java Basics - Anfänger-Themen 5
R speicherort Mac pfad angeben Java Basics - Anfänger-Themen 3
L Breadth-First Search statt einem Pfad, alle Pfade herausfinden Java Basics - Anfänger-Themen 4
O Best Practice Datei-Pfad zerlegen Java Basics - Anfänger-Themen 4
topi relativer Pfad in einem Runnable JAR file Java Basics - Anfänger-Themen 12
H pfad finden Java Basics - Anfänger-Themen 12
H Pfad Program Files\Common Files\Oracle\Java\javapath Java Basics - Anfänger-Themen 3
L Pfad zum Jar Java Basics - Anfänger-Themen 7
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
J Leerzeichen im Pfad automatisch erkennen Java Basics - Anfänger-Themen 30
B Log4J Pfad des Logfiles definieren Java Basics - Anfänger-Themen 6
D Umgebungsvariable Pfad javaw.exe für Programmstart auf Windows Java Basics - Anfänger-Themen 1
D Pfad Java Basics - Anfänger-Themen 15
H nio Pfad aus Dateinamen extrahieren Java Basics - Anfänger-Themen 4
R Pfad angeben Java Basics - Anfänger-Themen 7
S Pfad für Dateisystem?? Java Basics - Anfänger-Themen 13
P JSON-Konfigurationsdatei verwenden: Probleme mit Pfad Java Basics - Anfänger-Themen 1
T Classpath Problem mit dem auslesen von Text-Dateien (Pfad) Java Basics - Anfänger-Themen 3
M Pfad zu einer Datei in einer exportierten Jar-Datei Java Basics - Anfänger-Themen 5
S ungültiger Pfad bei der Installation von API documentation Java Basics - Anfänger-Themen 0
N .propertiesdatei über Relativen Pfad einlesen lassen Java Basics - Anfänger-Themen 5
I ZIP Archive erstellen - ich möchte aber nur den jeweiligen Ordner zippen, bekomme ganzen Pfad Java Basics - Anfänger-Themen 1
I Bei Umlauten und Leerzeichen im Pfad, wird Datei nicht gefunden Java Basics - Anfänger-Themen 5
O JFileChooser Verhalten -Pfad Java Basics - Anfänger-Themen 15
V java Pfad javac Java Basics - Anfänger-Themen 8
D Ein Icon ohne Pfad sondern mit Package. Java Basics - Anfänger-Themen 4
P Leerzeichen in Pfad... Java Basics - Anfänger-Themen 17
P Datei auf Pfad speichern Java Basics - Anfänger-Themen 7
B Relativer Pfad zwischen zwei Files Java Basics - Anfänger-Themen 2
H Programm zur Ausgabe von Datei und Pfad Java Basics - Anfänger-Themen 7
C Pfad für Bilder angeben Java Basics - Anfänger-Themen 11
L Pfad "zuschneiden" Java Basics - Anfänger-Themen 3
B In welchem (Default) Pfad erstellt Java Dateien? Java Basics - Anfänger-Themen 4
V relativer Pfad geht nicht, absolut schon? Java Basics - Anfänger-Themen 3
J Input/Output Datei auslesen, Pfad eingeben Java Basics - Anfänger-Themen 4
S PATH und Pfad auslesen.... Java Basics - Anfänger-Themen 3
X JDK installieren Pfad wird nicht gefunden Java Basics - Anfänger-Themen 5
B Classpath cmd java mit absolutem Pfad Java Basics - Anfänger-Themen 15
B eingene Klasse in eigenem Prozess starten mit relativem Pfad Java Basics - Anfänger-Themen 5
J FileOutputStream aktuelle Speicher Pfad ausgeben Java Basics - Anfänger-Themen 13
T Erkennen ob ein Pfad lokal oder im Netzwerk ist Java Basics - Anfänger-Themen 13
F Zugriff auf Pfad des gerade ausgeführten Programms? Java Basics - Anfänger-Themen 14
S Pfad auslesen Java Basics - Anfänger-Themen 3
B Externe Libraries fuer Applet ... Pfad eingeben? Java Basics - Anfänger-Themen 23
Helgon Pfad richtig angeben Java Basics - Anfänger-Themen 7
E Input/Output Relativer Bild-Pfad für InputStream Java Basics - Anfänger-Themen 5
M Existiert der gegebene Pfad? Java Basics - Anfänger-Themen 5
G aktueller Pfad Java Basics - Anfänger-Themen 4
F Relativer Pfad auf Datei im Projektordner Java Basics - Anfänger-Themen 11
B Pfad einer .jar im Programm ermitteln Java Basics - Anfänger-Themen 13
T Pfad für Datei neben Jar Java Basics - Anfänger-Themen 9
S File Kopieren Path Pfad Problem Java Basics - Anfänger-Themen 3
I Java-Programmm starten/ Pfad hsql DB Java Basics - Anfänger-Themen 7
D Input/Output Pfad richtig ermitteln Java Basics - Anfänger-Themen 12
T Pfad gültig oder ungültig? Java Basics - Anfänger-Themen 17
T brauche den pfad Name! Java Basics - Anfänger-Themen 2
Z css pfad falsch Java Basics - Anfänger-Themen 7
P ImageIcon/Pfad Java Basics - Anfänger-Themen 3
M externen Pfad in Jar verwenden Java Basics - Anfänger-Themen 3
V pfad.exists() gilt nicht für "//server/a/xyz.jpg"? Java Basics - Anfänger-Themen 12
C Relativer Pfad - Statische Methode Java Basics - Anfänger-Themen 6
C exec Aufruf mit Leerzeilen im Pfad Java Basics - Anfänger-Themen 3
J Pfad bzw. Namen einer Datei auslesen Java Basics - Anfänger-Themen 6
D Pfad zu "Eigenen Dateien" ermitteln Java Basics - Anfänger-Themen 8
A Relativer Pfad zu einem File ermitteln Java Basics - Anfänger-Themen 2
M createImage ungültiger Pfad registrieren Java Basics - Anfänger-Themen 2
S Pfad für Datei falsch - wie richtig angeben? Java Basics - Anfänger-Themen 7
H Wie Projekt-Ordner-Pfad ermitteln? Java Basics - Anfänger-Themen 11
A Aktueller Pfad des Programms (.jar) ermitteln Java Basics - Anfänger-Themen 10
M Problem mit relativen Pfad unter Linux Java Basics - Anfänger-Themen 5
L relativer Pfad Java Basics - Anfänger-Themen 2
S In Eclipse relativen Pfad fuer Tomcat Server erstellen..? Java Basics - Anfänger-Themen 3
E Pfad zu einem gif-Bild wird zur Laufzeit nicht gefunden Java Basics - Anfänger-Themen 5
megachucky FileInputStream findet nur absoluten Pfad, keinen Relativen ?! Java Basics - Anfänger-Themen 7
M Pfad angabe bei getRescource und ImageIO.write Java Basics - Anfänger-Themen 4
E new File macht den Pfad kaputt Java Basics - Anfänger-Themen 15
0 Den Pfad für das Bild angeben Java Basics - Anfänger-Themen 9
D Pfad zum Konfigurationsfile von Servletanwendung "dynamisieren" Java Basics - Anfänger-Themen 27
H Wie mache ich aus pfad\\unterpfad pfad\unterpfad? Java Basics - Anfänger-Themen 3
L datei speichern untervorgegebenen pfad Java Basics - Anfänger-Themen 3
A relativer Pfad Java Basics - Anfänger-Themen 6
L Pfad von Webprojekt auslesen Java Basics - Anfänger-Themen 10
F Datei suchen --> Pfad als String speichern Java Basics - Anfänger-Themen 8
R Pfad relativ eingeben Java Basics - Anfänger-Themen 20
Z Pfad zum Jararchiv Java Basics - Anfänger-Themen 4
S Object Pfad Java Basics - Anfänger-Themen 3
S log4j pfad per umgebungsvariable setzen? Java Basics - Anfänger-Themen 2
G Mit jFileChooser Pfad rauskriegen? Java Basics - Anfänger-Themen 3
G Pfad einer Klasse Java Basics - Anfänger-Themen 6
D Relativer Pfad innerhalb jar Datei Java Basics - Anfänger-Themen 5
C Problem mit einem Pfad Java Basics - Anfänger-Themen 3
L Pfad eines .jar archivs Java Basics - Anfänger-Themen 7
N Verzeichnisstruktur und Pfad Angabe Java Basics - Anfänger-Themen 2
N Pfad und FileReader? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben