Avatar billede tentakkel Nybegynder
23. januar 2006 - 00:45 Der er 7 kommentarer og
1 løsning

Tilgå properies filer (NetBeans)

Hej

jeg har oprettet en propeties fil "Data". Bare med default sprog

inde i en java fil skriver jeg

ResourceBundle MySQLData = ResourceBundle.getBundle("Data");
sqlUrl = MySQLData.getString("sqlUrl");

og det kan kompile. Men når jeg køre det når jeg aldrig til anden linje for den skriver at

Can't find bundle for base name Data, locale da_DK

jeg har også prøvet at lave en da_DK version. sågar at lave en taiwan version af filen og så skrive .getBundle("Data", Locale.TAIWAN)

men lige meget hjælper det. Nogen der har et fif?
Avatar billede _carsten Nybegynder
23. januar 2006 - 11:53 #1
Skriv: ResourceBundle MySQLData = ResourceBundle.getBundle("/package1/package2/Data");
Avatar billede arne_v Ekspert
23. januar 2006 - 15:25 #2
den kan vel finde da_DK hvis filnavnet passer til denne ?
Avatar billede tentakkel Nybegynder
25. januar 2006 - 21:09 #3
_carstern --> du havde ret. lig et svar

når min propetie fil ligger inde i en package der heder client så skal man skrive

ResourceBundle MySQLData = ResourceBundle.getBundle("client/Data");

Til andre der lugter til samme emne:
dejligt system med de bundles - det virker (jf kommentar oven over). Jeg har brugt dem til gemme oplysninger om en database. disse kan så selv ændres af ham der skal bruge programmet.
Så hvis du inde i din package "client" har en fil der heder Data.properties der indeholder

# Kommenta om hvad det er
sqlUrl=jdbc:mysql://mysql.adresse.dk
sqlUser=Mig
sqlPasswd=hemmeligt

så kan du hive data ind i programmet med

ResourceBundle MySQLData = ResourceBundle.getBundle("client/Data");
sqlUrl = MySQLData.getString("sqlUrl");
sqlUser = MySQLData.getString("sqlUser");
sqlPasswd = MySQLData.getString("sqlPasswd");

Meget nemmere bliver det da ikke :-) (husk nu at sætte det ind i en try{})
Avatar billede arne_v Ekspert
25. januar 2006 - 21:19 #4
hvorfor ikke bare bruge en normal properties fil ?

de opslysninger er jo ikke forskellige efter land/sprog
Avatar billede tentakkel Nybegynder
25. januar 2006 - 21:30 #5
hmmm. tjahh.... det ved jeg ik...

Jeg troede at en ***.properties fil var sproguafhængig så længe den ikke ender på ***_da_DK.properties  (eller andet sprog_land) og derfor fungerede som en generel properties fil.

Hvordan laver man en "normal properties" ?
Avatar billede arne_v Ekspert
25. januar 2006 - 21:47 #6
det er det ogsaa

ressource bundle bygger oven paa properties

men

Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("foobar.properties"));

eller

Properties properties = new Properties();
properties.load(new FileInputStream("foobar.properties"));

ville nok goere det nemmere at forstaa hvilken type data det er
Avatar billede _carsten Nybegynder
25. januar 2006 - 22:23 #7
Svar

jeg vil give Arne ret, ResourceBundle er typisk noget man bruger i eksempelvis en gui, til at styre tekster på labels, buttons etc. og properties til eventuelle brugerdata, som Arne også skriver "det er nemmere at hvilken type data det er" - er ret væsenligt når man om 1 eller 2 år skal foretage ændringer, så er ResourceBundle ikke det første sted man vil kigge efter brugerdata.
Avatar billede tentakkel Nybegynder
27. januar 2006 - 18:53 #8
tak for svar - altid godt at lære noget nyt :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester