public class main {
public static void main
(String[] args
) { if (promptStringOrFile()) {
/*
//These functions are actually called, but all I want to figure out is promptStringOrFile() for now...
String config[] = grabConfig();
String input=readInput();
Counter counter=new Counter(config);
WordFrequency frequency=counter.process(input);
frequency.output();
*/
}
}
public static boolean promptStringOrFile() {
char cbuf[] = new char[2];
do {
System.
out.
println("Do you want to process standard (I)nput, or a (F)ile? I/F"); try {
br.read(cbuf, 0, 1);
inputReadFailure(e);
}
} while ((!(cbuf[0]=='I' || cbuf[0]=='F')));
if (cbuf[0]=='I') {
return true;
}
else
return false;
}
public static String readInput
() { try {
toReturn = br.readLine();
System.
err.
println("ERROR: Failed to read User input!"); e.printStackTrace();
} finally {
return toReturn;
}
}
}
CgpwdWJsaWMgY2xhc3MgbWFpbiB7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgkJaWYgKHByb21wdFN0cmluZ09yRmlsZSgpKSB7CgkJLyoKCQkJLy9UaGVzZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IGNhbGxlZCwgYnV0IGFsbCBJIHdhbnQgdG8gZmlndXJlIG91dCBpcyBwcm9tcHRTdHJpbmdPckZpbGUoKSBmb3Igbm93Li4uCgkJCVN0cmluZyBjb25maWdbXSA9IGdyYWJDb25maWcoKTsKCQkJU3RyaW5nIGlucHV0PXJlYWRJbnB1dCgpOwoJCQlDb3VudGVyIGNvdW50ZXI9bmV3IENvdW50ZXIoY29uZmlnKTsKCQkJV29yZEZyZXF1ZW5jeSBmcmVxdWVuY3k9Y291bnRlci5wcm9jZXNzKGlucHV0KTsKCQkJZnJlcXVlbmN5Lm91dHB1dCgpOwoJCSovCgkJfQoJfQoJCQoJcHVibGljIHN0YXRpYyBib29sZWFuIHByb21wdFN0cmluZ09yRmlsZSgpIHsKCQlCdWZmZXJlZFJlYWRlciBiciA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoU3lzdGVtLmluKSk7CgkJY2hhciBjYnVmW10gPSBuZXcgY2hhclsyXTsKCQlkbyB7CgkJCVN5c3RlbS5vdXQucHJpbnRsbigiRG8geW91IHdhbnQgdG8gcHJvY2VzcyBzdGFuZGFyZCAoSSlucHV0LCBvciBhIChGKWlsZT8gSS9GIik7CgkJCXRyeSB7CgkJCQlici5yZWFkKGNidWYsIDAsIDEpOwoJCQl9IGNhdGNoIChJT0V4Y2VwdGlvbiBlKSB7CgkJCQlpbnB1dFJlYWRGYWlsdXJlKGUpOwoJCQl9CgkJfSB3aGlsZSAoKCEoY2J1ZlswXT09J0knIHx8IGNidWZbMF09PSdGJykpKTsKCQlpZiAoY2J1ZlswXT09J0knKSB7CgkJCXJldHVybiB0cnVlOwoJCX0KCQllbHNlIAoJCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHJlYWRJbnB1dCgpIHsKCQlCdWZmZXJlZFJlYWRlciBiciA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoU3lzdGVtLmluKSk7CgkJU3RyaW5nIHRvUmV0dXJuID0gbnVsbDsKCQl0cnkgewoJCQl0b1JldHVybiA9IGJyLnJlYWRMaW5lKCk7CgkJfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgewoJCQlTeXN0ZW0uZXJyLnByaW50bG4oIkVSUk9SOiBGYWlsZWQgdG8gcmVhZCBVc2VyIGlucHV0ISIpOwoJCQllLnByaW50U3RhY2tUcmFjZSgpOwoJCQlTeXN0ZW0uZXhpdCgtMSk7CgkJfSBmaW5hbGx5IHsKCQkJcmV0dXJuIHRvUmV0dXJuOwoJCX0KCX0KfQ==