1 package be
.nikiroo
.jvcard
.resources
;
3 import java
.io
.IOException
;
4 import java
.io
.InputStream
;
5 import java
.io
.InputStreamReader
;
7 import java
.net
.URLConnection
;
8 import java
.util
.Locale
;
9 import java
.util
.PropertyResourceBundle
;
10 import java
.util
.ResourceBundle
;
11 import java
.util
.ResourceBundle
.Control
;
14 * Fixed ResourceBundle.Control class. It will use UTF-8 for the files to load.
19 class FixedResourceBundleControl
extends Control
{
20 public ResourceBundle
newBundle(String baseName
, Locale locale
,
21 String format
, ClassLoader loader
, boolean reload
)
22 throws IllegalAccessException
, InstantiationException
, IOException
{
23 // The below is a copy of the default implementation.
24 String bundleName
= toBundleName(baseName
, locale
);
25 String resourceName
= toResourceName(bundleName
, "properties");
26 ResourceBundle bundle
= null;
27 InputStream stream
= null;
29 URL url
= loader
.getResource(resourceName
);
31 URLConnection connection
= url
.openConnection();
32 if (connection
!= null) {
33 connection
.setUseCaches(false);
34 stream
= connection
.getInputStream();
38 stream
= loader
.getResourceAsStream(resourceName
);
42 // Only this line is changed to make it to read properties files
44 // How can someone use an archaic encoding such as ISO 8859-1 by
45 // *DEFAULT* is beyond me...
46 bundle
= new PropertyResourceBundle(new InputStreamReader(