public void scanConfig(File inFile) throws IOException {
		BufferedReader reader = new BufferedReader(new FileReader(inFile));

		String line;
		ConfigLine parse = new ConfigLine();

		try {
			for (;;) {
				line = reader.readLine();
				if (line == null) {
					break;		// End of file reached
				}
				if (line.length() != 0) {
					parse.parseUptoKey(line);
					if (parse.key == null) {
						continue;
					}
					String curval = keyValue.get(parse.key);		// Check if this is a key we want to find
					if (curval != null) {						// If this line is setting a value we control
						if (curval.length() != 0) {
							throw new IOException("Multiple settings for: " + parse.key);
						}
						parse.parseValue(line);		// Discard the original value, but preserve any comment
						if (parse.status == 1) {	// We have uncommented controlled key
							keyValue.put(parse.key, parse.value);
						}
					}
				}
			}
		}
		finally {
			reader.close();
		}
	}
Parse a configuration file
@param inFile is the path to the file
@throws IOException if the file cannot be read
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/ServerConfig.java