2

我正在尝试在 java 中实现一个简单的程序(带有永久循环),当用户按下“a”键时该程序终止。我可以使用 system.in 来完成,但用户应该在按下“a”后按下 Enter 键。我想要程序在按下“a”后立即终止。有什么办法吗?我发现使用 JNI 是一种解决方案,但我不喜欢使用第三方库,因为这只是一个简单的代码。

4

2 回答 2

1

几年前,甚至更多年前,我就解决了这个问题。我发现了一个在 Ubuntu 系统中对我有用的技巧。诀窍是打电话

stty -icanon min 1

在执行应用程序之前;同样的技巧被用作库jline的一部分,该库已用于 windows 环境。

于 2013-09-30T18:02:26.753 回答
1

但我不喜欢使用第三方库,因为这只是一个简单的代码。

然后就做不到了。

标准的 Java 控制台无法响应单个按键、句号等所有解决方案都需要第三方或 JNI/JNA 或非控制台 (gui) 解决方案。

于 2013-09-30T17:50:33.610 回答