10
A
答えて
2
Javaの(Linux?)コンソールでキープレスのノンブロッキング処理を探しています。 earlier questionは、これを可能にする2つのJavaライブラリを提案しています。ポータブルである必要がない場合は、hereという解決策があります。基本的には
、
public class Foo {
public static void main(String[] args) throws Exception {
while(System.in.available() == 0) {
System.out.println("foo");
Thread.sleep(1000);
}
}
}
作品が、コンソール入力ストリームがバッファリングされており、それはOSによって決定されるため、唯一の「リターン」を押した後(Linuxの場合)。つまり、チャンネルやその他のNIOクラスを使用することでそれを克服することはできません。コンソールがそれぞれの文字をすべてフラッシュするようにするには、端末の設定を変更する必要があります。私はかつて(現在の端末のtermios構造体のICANONフラグを修正する)Cプログラムを書いていましたが、Javaからどうやってやるのかはわかりませんが(the second link参照)
一般的に、この問題では、「java nonblocking input」についてはsearchingでさらに見つけることができます。
関連する問題
- 1. Rでキーを押すのを待つ方法は?
- 2. perlスクリプトでキーを押すのを待つ方法は?
- 3. ユニティ - iキーを押すまでユニティを待つ方法
- 4. ユーザーがどのキーを押しても20秒待つ方法は?
- 5. 特定のキーを押すのを待つ
- 6. プログラムでダイヤルパッドのキーを押す方法
- 7. ユーザーがEnterを押すのを待つ方法
- 8. キャプチャ方法GtkEntryでEnterキーを押す
- 9. メモ帳でEnterキーが押されるまで待つ
- 10. Altキーを1回押すだけでキー押下を検出する方法
- 11. Tkinterキーが押されるまで待つ
- 12. sfml - キーが押されなくなるまで待つ
- 13. セレンのキーを2回押す方法
- 14. C++ SFML - SFMLの2つのキーを同時に押す方法
- 15. キー押下でjavascriptを停止する方法(つまりESCキー)
- 16. OpenCV:別のキーを待つ?
- 17. MS AccessでEnterキーを押すまでナビゲーションバーの検索ボックスを待機させる方法は?
- 18. SWT KeyListenerの3つのキー押下の検出方法
- 19. Javascript:conteditable divでEnterキーを押したときにバックスペースキーを押す方法
- 20. TextBoxのCtrl + 1キーの押下方法
- 21. ユーザがConsole.ReadLine()でenterを押すのを待つのではなく、1キーで入力を受け入れる
- 22. OEMキーでスラッシュキーを押すタイミングを検出する方法C#
- 23. キュウリのテストケースでEnterキーを押す方法
- 24. がモーダルフォームでF9とF10キーの押下をキャッチする方法
- 25. VBAのダイアログボックスでEnterキーを押す方法は?
- 26. キーの押下とオンクリックでオーディオタグを有効にする方法
- 27. Kinectで手のひら波をキー押しする方法
- 28. jQueryで複数のキー押しとイベントをトリガーする方法
- 29. Clojureのリネーム・キー
- 30. ユーザーがjavascriptのキーを押すたびにイベントトリガーを持つ方法
どのようなアプリケーションを使用しますか?コンソール、スイング、サーブレット? – ffriend
スワンクなどを使用しているコンソールREPLからです。 – justinhj
新しいスレッド( 'agent'、' future'、 'Thread'など)を起動します。これは実際の処理を行い、スレッド変数を' main'から保存します。入力を読み込み、空でなければ専用スレッドを停止します。あなたがREPLでプレーしているだけの場合、[this](http://www.objectcommando.com/blog/2010/06/10/clojure-futures/)はあなたのニーズを完全にカバーします。 – ffriend