我想调整下面的代码来使用ANTLRReaderStream
,所以我不必为每一行创建一个新的解析器。但是它需要单独处理每一行,我现在还不知道如何做,我也没有看到任何方式向解析器询问它是否已准备好数据(或者等同于{{1 }}
String line = stdin.readLine()
stdin = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String line = stdin.readLine();
if (line == null) {
System.exit(0);
}
processLine(line.trim());
}
答案 0 :(得分:1)
如果使用JDK1.6,我们可以执行以下主循环:
Console console = System.console();
if (console != null) {
String line = null;
while ((line = console.readLine()) != null) {
processLine(line.trim());
}
} else {
System.out.println("No console available!!");
}