private void readParameter() throws IOException {
        writeHeading("Parameters - Hit enter to use the default in brackets");

        InputStreamReader inputStreamReader = new InputStreamReader(System.in);
        BufferedReader reader = new BufferedReader(inputStreamReader);

        int maxName = 0;
        int maxValue = 0;
        int maxDescription = 0;
        for (Parameter parameter : parameterFile.getParameter()) {
            maxName = Math.max(maxName, parameter.getName().length());
            maxValue = Math.max(maxValue, parameter.getValue().length());
            maxDescription = Math.max(maxDescription, parameter.getDescription().length());
        }

        for (Parameter parameter : parameterFile.getParameter()) {
            int tryCount = 0;
            boolean ok;
            do {
                System.out.print(parameter.getName() + " : " + parameter.getDescription() + " [" + parameter.getValue()
                        + "] > ");
                if (readParameter) {
                    String inputLine = reader.readLine();
                    if (inputLine != null && !inputLine.equals("")) {
                        parameter.setValue(inputLine.trim());
                    }
                } else {
                    System.out.println();
                }
                ok = parameter.validate();
                if (!ok) {
                    tryCount++;
                    System.out.println("Error [" + parameter.getValue() + "] does not match " + parameter.getRegEx());
                }
                System.out.println();
            } while (!ok && tryCount < 3);
            if (!ok) {
                System.out.println("Giving up!");
                exitWithError();
            }
        }
        System.out.println();
    }
Usage java stroom.util.config.Configure
<pre><code>{@code <parameter file> <files to process>}</code></pre>
stroom-util/src/main/java/stroom/util/config/Configure.java