Java Code Examples for java.lang.String#lastIndexOf()
The following examples show how to use
java.lang.String#lastIndexOf() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: FileLocator.java From TencentKona-8 with GNU General Public License v2.0 | 5 votes |
/** * locateLocaleSpecificFileInClassPath returns a DataInputStream that * can be used to read the requested file, but the name of the file is * determined using information from the current locale and the supplied * file name (which is treated as a "base" name, and is supplemented with * country and language related suffixes, obtained from the current * locale). The CLASSPATH is used to locate the file. * * @param fileName The name of the file to locate. The file name * may be qualified with a partial path name, using '/' as the separator * character or using separator characters appropriate for the host file * system, in which case each directory or zip file in the CLASSPATH will * be used as a base for finding the fully-qualified file. * Here is an example of how the supplied fileName is used as a base * for locating a locale-specific file: * * <pre> * Supplied fileName: a/b/c/x.y, current locale: US English * * Look first for: a/b/c/x_en_US.y * (if that fails) Look next for: a/b/c/x_en.y * (if that fails) Look last for: a/b/c/x.y * * All elements of the class path are searched for each name, * before the next possible name is tried. * </pre> * * @exception java.io.FileNotFoundException The requested class file * could not be found. * @exception java.io.IOException The requested class file * could not be opened. */ public static DataInputStream locateLocaleSpecificFileInClassPath ( String fileName) throws FileNotFoundException, IOException { String localeSuffix = "_" + Locale.getDefault ().toString (); int lastSlash = fileName.lastIndexOf ('/'); int lastDot = fileName.lastIndexOf ('.'); String fnFront, fnEnd; DataInputStream result = null; boolean lastAttempt = false; if ((lastDot > 0) && (lastDot > lastSlash)) { fnFront = fileName.substring (0, lastDot); fnEnd = fileName.substring (lastDot); } else { fnFront = fileName; fnEnd = ""; } while (true) { if (lastAttempt) result = locateFileInClassPath (fileName); else try { result = locateFileInClassPath (fnFront + localeSuffix + fnEnd); } catch (Exception e) { /* ignore */ } if ((result != null) || lastAttempt) break; int lastUnderbar = localeSuffix.lastIndexOf ('_'); if (lastUnderbar > 0) localeSuffix = localeSuffix.substring (0, lastUnderbar); else lastAttempt = true; } return result; }
Example 2
Source File: FileLocator.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
/** * locateLocaleSpecificFileInClassPath returns a DataInputStream that * can be used to read the requested file, but the name of the file is * determined using information from the current locale and the supplied * file name (which is treated as a "base" name, and is supplemented with * country and language related suffixes, obtained from the current * locale). The CLASSPATH is used to locate the file. * * @param fileName The name of the file to locate. The file name * may be qualified with a partial path name, using '/' as the separator * character or using separator characters appropriate for the host file * system, in which case each directory or zip file in the CLASSPATH will * be used as a base for finding the fully-qualified file. * Here is an example of how the supplied fileName is used as a base * for locating a locale-specific file: * * <pre> * Supplied fileName: a/b/c/x.y, current locale: US English * * Look first for: a/b/c/x_en_US.y * (if that fails) Look next for: a/b/c/x_en.y * (if that fails) Look last for: a/b/c/x.y * * All elements of the class path are searched for each name, * before the next possible name is tried. * </pre> * * @exception java.io.FileNotFoundException The requested class file * could not be found. * @exception java.io.IOException The requested class file * could not be opened. */ public static DataInputStream locateLocaleSpecificFileInClassPath ( String fileName) throws FileNotFoundException, IOException { String localeSuffix = "_" + Locale.getDefault ().toString (); int lastSlash = fileName.lastIndexOf ('/'); int lastDot = fileName.lastIndexOf ('.'); String fnFront, fnEnd; DataInputStream result = null; boolean lastAttempt = false; if ((lastDot > 0) && (lastDot > lastSlash)) { fnFront = fileName.substring (0, lastDot); fnEnd = fileName.substring (lastDot); } else { fnFront = fileName; fnEnd = ""; } while (true) { if (lastAttempt) result = locateFileInClassPath (fileName); else try { result = locateFileInClassPath (fnFront + localeSuffix + fnEnd); } catch (Exception e) { /* ignore */ } if ((result != null) || lastAttempt) break; int lastUnderbar = localeSuffix.lastIndexOf ('_'); if (lastUnderbar > 0) localeSuffix = localeSuffix.substring (0, lastUnderbar); else lastAttempt = true; } return result; }
Example 3
Source File: FileLocator.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
/** * locateLocaleSpecificFileInClassPath returns a DataInputStream that * can be used to read the requested file, but the name of the file is * determined using information from the current locale and the supplied * file name (which is treated as a "base" name, and is supplemented with * country and language related suffixes, obtained from the current * locale). The CLASSPATH is used to locate the file. * * @param fileName The name of the file to locate. The file name * may be qualified with a partial path name, using '/' as the separator * character or using separator characters appropriate for the host file * system, in which case each directory or zip file in the CLASSPATH will * be used as a base for finding the fully-qualified file. * Here is an example of how the supplied fileName is used as a base * for locating a locale-specific file: * * <pre> * Supplied fileName: a/b/c/x.y, current locale: US English * * Look first for: a/b/c/x_en_US.y * (if that fails) Look next for: a/b/c/x_en.y * (if that fails) Look last for: a/b/c/x.y * * All elements of the class path are searched for each name, * before the next possible name is tried. * </pre> * * @exception java.io.FileNotFoundException The requested class file * could not be found. * @exception java.io.IOException The requested class file * could not be opened. */ public static DataInputStream locateLocaleSpecificFileInClassPath ( String fileName) throws FileNotFoundException, IOException { String localeSuffix = "_" + Locale.getDefault ().toString (); int lastSlash = fileName.lastIndexOf ('/'); int lastDot = fileName.lastIndexOf ('.'); String fnFront, fnEnd; DataInputStream result = null; boolean lastAttempt = false; if ((lastDot > 0) && (lastDot > lastSlash)) { fnFront = fileName.substring (0, lastDot); fnEnd = fileName.substring (lastDot); } else { fnFront = fileName; fnEnd = ""; } while (true) { if (lastAttempt) result = locateFileInClassPath (fileName); else try { result = locateFileInClassPath (fnFront + localeSuffix + fnEnd); } catch (Exception e) { /* ignore */ } if ((result != null) || lastAttempt) break; int lastUnderbar = localeSuffix.lastIndexOf ('_'); if (lastUnderbar > 0) localeSuffix = localeSuffix.substring (0, lastUnderbar); else lastAttempt = true; } return result; }
Example 4
Source File: FileLocator.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 5 votes |
/** * locateLocaleSpecificFileInClassPath returns a DataInputStream that * can be used to read the requested file, but the name of the file is * determined using information from the current locale and the supplied * file name (which is treated as a "base" name, and is supplemented with * country and language related suffixes, obtained from the current * locale). The CLASSPATH is used to locate the file. * * @param fileName The name of the file to locate. The file name * may be qualified with a partial path name, using '/' as the separator * character or using separator characters appropriate for the host file * system, in which case each directory or zip file in the CLASSPATH will * be used as a base for finding the fully-qualified file. * Here is an example of how the supplied fileName is used as a base * for locating a locale-specific file: * * <pre> * Supplied fileName: a/b/c/x.y, current locale: US English * * Look first for: a/b/c/x_en_US.y * (if that fails) Look next for: a/b/c/x_en.y * (if that fails) Look last for: a/b/c/x.y * * All elements of the class path are searched for each name, * before the next possible name is tried. * </pre> * * @exception java.io.FileNotFoundException The requested class file * could not be found. * @exception java.io.IOException The requested class file * could not be opened. */ public static DataInputStream locateLocaleSpecificFileInClassPath ( String fileName) throws FileNotFoundException, IOException { String localeSuffix = "_" + Locale.getDefault ().toString (); int lastSlash = fileName.lastIndexOf ('/'); int lastDot = fileName.lastIndexOf ('.'); String fnFront, fnEnd; DataInputStream result = null; boolean lastAttempt = false; if ((lastDot > 0) && (lastDot > lastSlash)) { fnFront = fileName.substring (0, lastDot); fnEnd = fileName.substring (lastDot); } else { fnFront = fileName; fnEnd = ""; } while (true) { if (lastAttempt) result = locateFileInClassPath (fileName); else try { result = locateFileInClassPath (fnFront + localeSuffix + fnEnd); } catch (Exception e) { /* ignore */ } if ((result != null) || lastAttempt) break; int lastUnderbar = localeSuffix.lastIndexOf ('_'); if (lastUnderbar > 0) localeSuffix = localeSuffix.substring (0, lastUnderbar); else lastAttempt = true; } return result; }
Example 5
Source File: FileLocator.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * locateLocaleSpecificFileInClassPath returns a DataInputStream that * can be used to read the requested file, but the name of the file is * determined using information from the current locale and the supplied * file name (which is treated as a "base" name, and is supplemented with * country and language related suffixes, obtained from the current * locale). The CLASSPATH is used to locate the file. * * @param fileName The name of the file to locate. The file name * may be qualified with a partial path name, using '/' as the separator * character or using separator characters appropriate for the host file * system, in which case each directory or zip file in the CLASSPATH will * be used as a base for finding the fully-qualified file. * Here is an example of how the supplied fileName is used as a base * for locating a locale-specific file: * * <pre> * Supplied fileName: a/b/c/x.y, current locale: US English * * Look first for: a/b/c/x_en_US.y * (if that fails) Look next for: a/b/c/x_en.y * (if that fails) Look last for: a/b/c/x.y * * All elements of the class path are searched for each name, * before the next possible name is tried. * </pre> * * @exception java.io.FileNotFoundException The requested class file * could not be found. * @exception java.io.IOException The requested class file * could not be opened. */ public static DataInputStream locateLocaleSpecificFileInClassPath ( String fileName) throws FileNotFoundException, IOException { String localeSuffix = "_" + Locale.getDefault ().toString (); int lastSlash = fileName.lastIndexOf ('/'); int lastDot = fileName.lastIndexOf ('.'); String fnFront, fnEnd; DataInputStream result = null; boolean lastAttempt = false; if ((lastDot > 0) && (lastDot > lastSlash)) { fnFront = fileName.substring (0, lastDot); fnEnd = fileName.substring (lastDot); } else { fnFront = fileName; fnEnd = ""; } while (true) { if (lastAttempt) result = locateFileInClassPath (fileName); else try { result = locateFileInClassPath (fnFront + localeSuffix + fnEnd); } catch (Exception e) { /* ignore */ } if ((result != null) || lastAttempt) break; int lastUnderbar = localeSuffix.lastIndexOf ('_'); if (lastUnderbar > 0) localeSuffix = localeSuffix.substring (0, lastUnderbar); else lastAttempt = true; } return result; }
Example 6
Source File: FileLocator.java From hottub with GNU General Public License v2.0 | 5 votes |
/** * locateLocaleSpecificFileInClassPath returns a DataInputStream that * can be used to read the requested file, but the name of the file is * determined using information from the current locale and the supplied * file name (which is treated as a "base" name, and is supplemented with * country and language related suffixes, obtained from the current * locale). The CLASSPATH is used to locate the file. * * @param fileName The name of the file to locate. The file name * may be qualified with a partial path name, using '/' as the separator * character or using separator characters appropriate for the host file * system, in which case each directory or zip file in the CLASSPATH will * be used as a base for finding the fully-qualified file. * Here is an example of how the supplied fileName is used as a base * for locating a locale-specific file: * * <pre> * Supplied fileName: a/b/c/x.y, current locale: US English * * Look first for: a/b/c/x_en_US.y * (if that fails) Look next for: a/b/c/x_en.y * (if that fails) Look last for: a/b/c/x.y * * All elements of the class path are searched for each name, * before the next possible name is tried. * </pre> * * @exception java.io.FileNotFoundException The requested class file * could not be found. * @exception java.io.IOException The requested class file * could not be opened. */ public static DataInputStream locateLocaleSpecificFileInClassPath ( String fileName) throws FileNotFoundException, IOException { String localeSuffix = "_" + Locale.getDefault ().toString (); int lastSlash = fileName.lastIndexOf ('/'); int lastDot = fileName.lastIndexOf ('.'); String fnFront, fnEnd; DataInputStream result = null; boolean lastAttempt = false; if ((lastDot > 0) && (lastDot > lastSlash)) { fnFront = fileName.substring (0, lastDot); fnEnd = fileName.substring (lastDot); } else { fnFront = fileName; fnEnd = ""; } while (true) { if (lastAttempt) result = locateFileInClassPath (fileName); else try { result = locateFileInClassPath (fnFront + localeSuffix + fnEnd); } catch (Exception e) { /* ignore */ } if ((result != null) || lastAttempt) break; int lastUnderbar = localeSuffix.lastIndexOf ('_'); if (lastUnderbar > 0) localeSuffix = localeSuffix.substring (0, lastUnderbar); else lastAttempt = true; } return result; }
Example 7
Source File: FileLocator.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
/** * locateLocaleSpecificFileInClassPath returns a DataInputStream that * can be used to read the requested file, but the name of the file is * determined using information from the current locale and the supplied * file name (which is treated as a "base" name, and is supplemented with * country and language related suffixes, obtained from the current * locale). The CLASSPATH is used to locate the file. * * @param fileName The name of the file to locate. The file name * may be qualified with a partial path name, using '/' as the separator * character or using separator characters appropriate for the host file * system, in which case each directory or zip file in the CLASSPATH will * be used as a base for finding the fully-qualified file. * Here is an example of how the supplied fileName is used as a base * for locating a locale-specific file: * * <pre> * Supplied fileName: a/b/c/x.y, current locale: US English * * Look first for: a/b/c/x_en_US.y * (if that fails) Look next for: a/b/c/x_en.y * (if that fails) Look last for: a/b/c/x.y * * All elements of the class path are searched for each name, * before the next possible name is tried. * </pre> * * @exception java.io.FileNotFoundException The requested class file * could not be found. * @exception java.io.IOException The requested class file * could not be opened. */ public static DataInputStream locateLocaleSpecificFileInClassPath ( String fileName) throws FileNotFoundException, IOException { String localeSuffix = "_" + Locale.getDefault ().toString (); int lastSlash = fileName.lastIndexOf ('/'); int lastDot = fileName.lastIndexOf ('.'); String fnFront, fnEnd; DataInputStream result = null; boolean lastAttempt = false; if ((lastDot > 0) && (lastDot > lastSlash)) { fnFront = fileName.substring (0, lastDot); fnEnd = fileName.substring (lastDot); } else { fnFront = fileName; fnEnd = ""; } while (true) { if (lastAttempt) result = locateFileInClassPath (fileName); else try { result = locateFileInClassPath (fnFront + localeSuffix + fnEnd); } catch (Exception e) { /* ignore */ } if ((result != null) || lastAttempt) break; int lastUnderbar = localeSuffix.lastIndexOf ('_'); if (lastUnderbar > 0) localeSuffix = localeSuffix.substring (0, lastUnderbar); else lastAttempt = true; } return result; }
Example 8
Source File: FileLocator.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
/** * locateLocaleSpecificFileInClassPath returns a DataInputStream that * can be used to read the requested file, but the name of the file is * determined using information from the current locale and the supplied * file name (which is treated as a "base" name, and is supplemented with * country and language related suffixes, obtained from the current * locale). The CLASSPATH is used to locate the file. * * @param fileName The name of the file to locate. The file name * may be qualified with a partial path name, using '/' as the separator * character or using separator characters appropriate for the host file * system, in which case each directory or zip file in the CLASSPATH will * be used as a base for finding the fully-qualified file. * Here is an example of how the supplied fileName is used as a base * for locating a locale-specific file: * * <pre> * Supplied fileName: a/b/c/x.y, current locale: US English * * Look first for: a/b/c/x_en_US.y * (if that fails) Look next for: a/b/c/x_en.y * (if that fails) Look last for: a/b/c/x.y * * All elements of the class path are searched for each name, * before the next possible name is tried. * </pre> * * @exception java.io.FileNotFoundException The requested class file * could not be found. * @exception java.io.IOException The requested class file * could not be opened. */ public static DataInputStream locateLocaleSpecificFileInClassPath ( String fileName) throws FileNotFoundException, IOException { String localeSuffix = "_" + Locale.getDefault ().toString (); int lastSlash = fileName.lastIndexOf ('/'); int lastDot = fileName.lastIndexOf ('.'); String fnFront, fnEnd; DataInputStream result = null; boolean lastAttempt = false; if ((lastDot > 0) && (lastDot > lastSlash)) { fnFront = fileName.substring (0, lastDot); fnEnd = fileName.substring (lastDot); } else { fnFront = fileName; fnEnd = ""; } while (true) { if (lastAttempt) result = locateFileInClassPath (fileName); else try { result = locateFileInClassPath (fnFront + localeSuffix + fnEnd); } catch (Exception e) { /* ignore */ } if ((result != null) || lastAttempt) break; int lastUnderbar = localeSuffix.lastIndexOf ('_'); if (lastUnderbar > 0) localeSuffix = localeSuffix.substring (0, lastUnderbar); else lastAttempt = true; } return result; }