Difference Between ResourceBundle and Properties Classes in Java

G

GMHK

Hi,

Can anyone tell me the whats the difference between the resource bundle
and Properties classes in java.
As both uses the .properties file to get the string constants.
At what point of time would the programmer decide to choose which of
the either classes.
What i understood so far is resourcebundle makes uses of String manager
to get the string.
where as the Properties tries to read the properties directly.

Thanks in Advance
 
T

Thomas Weidenfeller

GMHK said:
Can anyone tell me the whats the difference between the resource bundle
and Properties classes in java.
As both uses the .properties file to get the string constants.

No, they don't necessarily. A resource bundly does not have to be
file-based. The common implementation, however is. And that common
implementation (PropertyResourceBundle) indeed uses properties files and
thr Properties class.

However, resource bundles also come with a particular lookup-schema to
select a particular bundle according to the Locale. Something which you
don't get with Properties, but which is important when you do some
actual localization.
At what point of time would the programmer decide to choose which of
the either classes.

A resource bundle (properties file based or otherwise) when in need for
the lookup of locale-specific data. A naked properties file when in need
for keeping some small (FSWO) set of data persistent (e.g. application
configuration data), which is not supposed to be translated.

You didn't mention Preferences. I still preferen Properties over
Preferences because of the easy-to-work-with text file format, but they
can be used for the same purpose as Properties, without the need of
having to deal with files.
What i understood so far is resourcebundle makes uses of String manager
to get the string.
where as the Properties tries to read the properties directly.

Both map keys to values. The biggest difference is how they get that
mapping. ResourceBundles follow a build-in lookup schema taking a locale
into account. Properties need to be provided with some InputStream,
which the programmer has to handle explicitely. Properties have an easy
way to be written to an OutputStream, while ResourceBundles are ment to
be read-only.

/Thomas
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,997
Messages
2,570,240
Members
46,828
Latest member
LauraCastr

Latest Threads

Top