私は Java で書かれたコンソール アプリケーションに取り組んでいます。私がしなければならないことは、ユーザーのキーボード入力を処理することです。ターミナルでプログラムを使用して長いプロセスが起動された場合、ユーザーは'q'
いつでも を押してプロセス (別のスレッドで実行されている) を停止できる必要があります。
私はいくつかのことを試しました:
InterruptedException
ユーザー入力を読み取り、プロセスのスレッドにスローする別の別のスレッドで実行する- JLine とその使用
ConsoleReader
- JLine を使用
TriggeredAction
して、キーボード キーにリンクされたキーを追加します。
しかし、毎回同じ問題に直面します。ユーザーはENTER
キーを押す必要があり、それは望ましくありません。
何かアイデアがあれば、または私の問題の実際の解決策を教えていただきありがとうございます。
PS : これが不可能だと思う場合は、回答しないでください。私はそれが可能であることを知っています。