Here you can find the source of getResourceBundle(String resourceURI, Locale targetLocale)
public static ResourceBundle getResourceBundle(String resourceURI, Locale targetLocale) throws MalformedURLException, IOException
//package com.java2s; /******************************************************************************* * Copyright (c) 2001, 2005 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors://from ww w . j av a2 s . c om * IBM Corporation - initial API and implementation * Jens Lukowski/Innoopract - initial renaming/restructuring * *******************************************************************************/ import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; import java.util.Locale; import java.util.ResourceBundle; import org.eclipse.core.runtime.Platform; public class Main { public static ResourceBundle getResourceBundle(String resourceURI) throws MalformedURLException, IOException { return getResourceBundle(resourceURI, Locale.getDefault()); } public static ResourceBundle getResourceBundle(String resourceURI, Locale targetLocale) throws MalformedURLException, IOException { // try to load bundle from the location specified in the resourceURI // we make the assumption that the resourceURI points to the local // file system int index = resourceURI.lastIndexOf("/"); //$NON-NLS-1$ if (index == -1) { throw new IllegalArgumentException("Invalid resourceURI"); //$NON-NLS-1$ } // Below we set 'resourceDirectory' so that it ends with a '/'. // Here's an excerpt from the ClassLoader Javadoc ... // Any URL that ends with a '/' is assumed to refer to a directory. // Otherwise, the URL is assumed // to refer to a JAR file which will be opened as needed. // String resourceDirectory = resourceURI.substring(0, index + 1); String resourceBundleName = resourceURI.substring(index + 1); // create a class loader with a class path that points to the resource // bundle's location // URL[] classpath = new URL[1]; classpath[0] = Platform.resolve(new URL(resourceDirectory)); ClassLoader resourceLoader = new URLClassLoader(classpath, null); return ResourceBundle.getBundle(resourceBundleName, targetLocale, resourceLoader); } }