Java 如何立即打印intputstream读取的内容?

Java 如何立即打印intputstream读取的内容?,java,io,stream,enter,Java,Io,Stream,Enter,这是我的代码: import java.io.DataInputStream; import java.io.InputStream; public class TestClass { public static void main(String[] args) throws Exception { InputStream inputStream = new DataInputStream(System.in); int read = inputStre

这是我的代码:

import java.io.DataInputStream;
import java.io.InputStream;

public class TestClass {
    public static void main(String[] args) throws Exception {
        InputStream inputStream = new DataInputStream(System.in);
        int read = inputStream.read();
        System.out.println(read);
    }
}
当我运行此代码时,inputStream将等待来自标准输入的输入,这很好。当我在键盘上键入“a”时,我希望97会立即在控制台中打印出来。但是,此代码要求我在键入“a”后按“回车”

如果我只是点击“回车”,控制台中将显示整数10


如何修改代码,以便在键盘上点击“a”时,我能看到整数97?在这种情况下,Enter按钮有什么特别之处?为什么我需要按Enter键?

遗憾的是,Java控制台无法实现这一点。无论您使用的是
java.util.Scanner
还是一种
java.io.InputStream
(直接包括
System.in
),输入的触发器始终是
Enter


考虑使用图形用户界面,如(definition on),通过将连接到文本框,您可以满足输入要求。

请参阅我可以用JLine完成吗?我想知道,但我不能。我怀疑,但我不确定。试试看!