org.eclipse.edje/src/main/java/org/eclipse/edje/util/Util.java
public static String readConfigurableName(String keyName) {
		try (InputStreamReader in = new InputStreamReader(Util.class.getResourceAsStream("/" + keyName))) {
			StringBuffer buf = new StringBuffer();
			int x;
			char c = 0;
			// skip spaces
			while ((x = in.read()) != -1) {
				c = (char) x;
				// skip comment lines
				while (c == '#') {
					while ((x = in.read()) != -1) {
						c = (char) x;
						if (c == '\n') {
							c = (char) in.read();
							break;
						}
					}
				}
				if ((c != ' ') && (c != '\t')) {
					break;
				}
			}
			if ((c == 0) || (c == (char) -1)) {
				return null;
			}
			buf.append(c);
			// accumulate non space chars
			while ((x = in.read()) != -1) {
				c = (char) x;
				if ((c == ' ') || (c == '\t') || (c == '#') || (c == '\r') || (c == '\n')) {
					break;
				}
				buf.append(c);
			}
			return buf.toString();
		} catch (NullPointerException e) {
			// silently ignored
		} catch (IOException e) {
			// silently ignored
		}
		return null;
	}
/**
	 * Reads a configuration resource named as the provided key to retrieve a
	 * name in it. The name is actually stored as a single line string.
	 *
	 * @param keyName
	 *            the name of the resource to read
	 * @return the read name if any, or null.
	 */
Reads a configuration resource named as the provided key to retrieve a
name in it. The name is actually stored as a single line string.

@param keyName
the name of the resource to read
@return the read name if any, or null.
Reads a configuration resource named as the provided key to retrieve a name in it . The name is actually stored as a single line string . @param keyName the name of the resource to read @return the read name if any or null .
public static String readConfigurableName(String keyName) {
		try (InputStreamReader in = new InputStreamReader(Util.class.getResourceAsStream("/" + keyName))) {
			StringBuffer buf = new StringBuffer();
			int x;
			char c = 0;
			while ((x = in.read()) != -1) {
				c = (char) x;
				while (c == '#') {
					while ((x = in.read()) != -1) {
						c = (char) x;
						if (c == '\n') {
							c = (char) in.read();
							break;
						}
					}
				}
				if ((c != ' ') && (c != '\t')) {
					break;
				}
			}
			if ((c == 0) || (c == (char) -1)) {
				return null;
			}
			buf.append(c);
			while ((x = in.read()) != -1) {
				c = (char) x;
				if ((c == ' ') || (c == '\t') || (c == '#') || (c == '\r') || (c == '\n')) {
					break;
				}
				buf.append(c);
			}
			return buf.toString();
		} catch (NullPointerException e) {
		} catch (IOException e) {
		}
		return null;
	}
public static String readConfigurableName ( String keyName ) { try ( InputStreamReader in = new InputStreamReader ( Util . class . getResourceAsStream ( "/" + keyName ) ) ) { StringBuffer buf = new StringBuffer ( ) ; int x ; char c = 0 ; while ( ( x = in . read ( ) ) != - 1 ) { c = ( char ) x ; while ( c == '#' ) { while ( ( x = in . read ( ) ) != - 1 ) { c = ( char ) x ; if ( c == '\n' ) { c = ( char ) in . read ( ) ; break ; } } } if ( ( c != ' ' ) && ( c != '\t' ) ) { break ; } } if ( ( c == 0 ) || ( c == ( char ) - 1 ) ) { return null ; } buf . append ( c ) ; while ( ( x = in . read ( ) ) != - 1 ) { c = ( char ) x ; if ( ( c == ' ' ) || ( c == '\t' ) || ( c == '#' ) || ( c == '\r' ) || ( c == '\n' ) ) { break ; } buf . append ( c ) ; } return buf . toString ( ) ; } catch ( NullPointerException e ) { } catch ( IOException e ) { } return null ; }
Reads a configuration resource named as the provided key to retrieve a
 name in it.
Reads a configuration resource named as the provided key to retrieve a name in it .
// skip spaces // skip comment lines // accumulate non space chars // silently ignored // silently ignored