如何立即打印 intputstream 读取的内容?
How can I print what is read by intputstream immediately?
这是我的代码:
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' 后点击 'Enter'。
如果我简单地点击 'Enter' 整数 10 将显示在控制台中。
如何修改代码,以便在键盘上按下 'a' 时立即看到整数 97?在这种情况下,Enter 按钮有什么特别之处?为什么我需要按 Enter 键?
遗憾的是,Java 中的控制台无法执行此操作。无论你是使用java.util.Scanner
还是某种java.io.InputStream
(包括直接System.in
),Enter
键始终是接收输入的触发器。
考虑使用图形用户界面,例如 Swing (definition on wikipedia), where you can fulfill your input requirements by hooking up a KeyListener
文本框。
这是我的代码:
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' 后点击 'Enter'。
如果我简单地点击 'Enter' 整数 10 将显示在控制台中。
如何修改代码,以便在键盘上按下 'a' 时立即看到整数 97?在这种情况下,Enter 按钮有什么特别之处?为什么我需要按 Enter 键?
遗憾的是,Java 中的控制台无法执行此操作。无论你是使用java.util.Scanner
还是某种java.io.InputStream
(包括直接System.in
),Enter
键始终是接收输入的触发器。
考虑使用图形用户界面,例如 Swing (definition on wikipedia), where you can fulfill your input requirements by hooking up a KeyListener
文本框。